C语言程序设计现代方法第2版 练习题(第二/三章)
2016-05-15
导读
这里总结的是《C语言程序设计现代方法 第2版》的部分编程题的答案, 当然, 这是我的个人答案, 难免有错,如果发现了,请各位及时指出
第二章
编程题 2.1
#include <stdio.h>
int main(void)
{
printf(" *\n");
printf(" *\n");
printf(" *\n");
printf("* *\n");
printf(" * *\n");
printf(" *\n");
}
编程题 2.2
#include <stdio.h>
#define PI 3.1415f
#define FT 4.0f / 3.0f
int main(void)
{
int r = 10;
float v;
v = FT * PI * r * r * r;
printf("v is %.2f \n",v);
}
编程题2.3
#include <stdio.h>
#define PI 3.1415f
#define FT 4.0f / 3.0f
int main(void)
{
int r;
float v;
printf("请输入半径:");
scanf("%d",&r);
v = FT * PI * r * r * r;
printf("v is %.2f \n",v);
}
编程题2.4
int main(void)
{
float enter_d;
printf("Enter an amount: ");
scanf("%f",&enter_d);
printf("With tax added: $%.2f \n",enter_d + enter_d * 0.05f);
}
编程题2.7
#include <stdio.h>
int main(void)
{
int sum;
printf("Enter a dollar amount:");
scanf("%d",&sum);
printf("$20 bills: %d\n",sum / 20);
sum = sum % 20;
printf("$10 bills: %d\n",sum / 10);
sum = sum % 10;
printf("$5 bills: %d\n",sum / 5);
sum = sum % 5;
printf("$1 bills: %d\n",sum);
}
编程题2.8
#include <stdio.h>
int main(void)
{
float loan,rate,month_payment;
printf("Enter amount of loan:");
scanf("%f",&loan);
printf("Enter interest rate:");
scanf("%f",&rate);
printf("Enter monthly payment:");
scanf("%f",&month_payment);
rate = rate / 100;
loan = loan - month_payment + loan * rate / 12;
printf("Balance remaining after first payment: %.2f\n", loan);
loan = loan - month_payment + loan * rate /12 ;
printf("Balance remaining after second payment: %.2f\n",loan);
loan = loan - month_payment + loan * rate /12;
printf("Balance remaining after third payment: %.2f\n",loan);
}
第三章
编程题3.2
int main(void)
{
int item_num, month, day, year;
float price;
printf("Enter item number:");
scanf("%d",&item_num);
printf("Enter unit price:");
scanf("%f", &price);
printf("Enter purchase date (mm/dd/yyyy):");
scanf("%d/%d/%d",&month,&day, &year);
printf("Item\tUnit\tPurchase\n");
printf("\tPrice\tDate\n");
printf("%d\t$ %.2f\t%.2d%.2d%.4d\n",item_num,price,month,day,year);
return 0;
}
编程题3.3
#include <stdio.h>
int main(void)
{
int gs1,group,pcode,inum,cd;
printf("Enter ISBN: ");
scanf("%d-%d-%d-%d-%d",&gs1,&group,&pcode,&inum,&cd);
printf("GS1 prefix: %d\n",gs1);
printf("Group identifier: %d\n",group);
printf("Publisher code: %d\n",pcode);
printf("Item number: %d\n",inum);
printf("Check digit: %d\n",cd);
return 0;
}
编程题3.4
#include <stdio.h>
int main(void)
{
int area_code,num1,num2;
printf("Enter phone number [(xxx) xxx-xxxx]:");
scanf("(%d) %d-%d",&area_code, &num1, &num2);
printf("You entered %d.%d.%d\n",area_code,num1,num2);
return 0;
}
编程题3.5
#include <stdio.h>
int main(void)
{
int a1,a2,a3,a4;
int b1,b2,b3,b4;
int c1,c2,c3,c4;
int d1,d2,d3,d4;
printf("Enter the numbers from 1 to 16 in any order:\n");
//16 3 2 13 5 10 11 8 9 6 7 12 4 15 14 1
scanf("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d",
&a1,&a2,&a3,&a4,
&b1,&b2,&b3,&b4,
&c1,&c2,&c3,&c4,
&d1,&d2,&d3,&d4);
printf("%d %d %d %d\n",a1,a2,a3,a4);
printf("%d %d %d %d\n",b1,b2,b3,b4);
printf("%d %d %d %d\n",c1,c2,c3,c4);
printf("%d %d %d %d\n",d1,d2,d3,d4);
printf("Row sums: %d %d %d %d\n", a1+a2+a3+a4, b1+b2+b3+b4,
c1+c2+c3+c4,d1+d2+d3+d4);
printf("Column sums: %d %d %d %d\n",a1+b1+c1+d1,a2+b2+c2+d2,
a3+b3+c3+d3, a4+b4+c4+d4);
printf("Diagonal sums: %d %d\n",a1+b2+c3+d4, a4+b3+c2+d1);
}
编程题3.6
#include <stdio.h>
int main(void)
{
int num1,denmon1,num2,denmon2;
printf("Enter tow fractions separated by a plus sign: ");
scanf("%d/%d+%d/%d",&num1,&denmon1,&num2,&denmon2);
printf("The sum is %d/%d\n", num1 * denmon2 + num2 * denmon1, denmon1 * denmon2);
}