C Primer Plus 第七章编程练习参考答案_c编程练习全部答案
C Primer Plus 第七章编程练习参考答案由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c编程练习全部答案”。
/* programming exercise 7-1 */ #include int main(void){
} char ch;int sp_ct, nl_ct, other;sp_ct = nl_ct = other = 0;
while((ch = getchar())!= '#'){
} printf(“%d whitespace, %d newline, %d other.n”,return 0;sp_ct, nl_ct, other);if(ch == ' ')sp_ct++;else if(ch == 'n')nl_ct++;else other++;/* programming exercise 7-2 */ #include int main(void){
} char ch;int count = 0;
while((ch = getchar())!= '#'){
} printf(“That's all!”);
return 0;if(ch == 'n')continue;count ++;putchar(ch);printf(“/%d ”, ch);if(count % 8 == 0)printf(“n”);/* programming exercise 7-3 */ #include int main(void){
int num;int e_ct, o_ct;double e_sum, o_sum;e_ct = o_ct = 0;e_sum = o_sum = 0.0;
printf(“Enter the integer:(0 to quit).n”);while(scanf(“%d”, &num)== 1 && num!= 0){
if(num % 2 == 0){
} else { o_ct++;o_sum += num;e_ct++;e_sum += num;
}
} } printf(“Enter next integer:(0 to quit).n”);printf(“%d even entered.”, e_ct);if(e_ct > 0)printf(“ Average is %g.”, e_sum / e_ct);putchar('n');printf(“%d odd entered.”, o_ct);if(o_ct > 0)printf(“ Average is %g.”, o_sum / o_ct);putchar('n');printf(“Done!n”);
return 0;/* programming exercise 7-4 */ #include #define ECM '!' int main(void){ char ch;
int fs_ct = 0;int em_ct = 0;
while((ch = getchar())!= '#'){
} printf(“%d times fs to em, %d times em to double em.n”, fs_ct, em_ct);if(ch == '.'){
} else if(ch == '!'){
} else putchar(ch);putchar(ECM);putchar(ECM);em_ct++;putchar(ECM);fs_ct++;} return 0;/* programming exercise 7-5 */ #include int main(void){
int num;int e_ct = 0, o_ct = 0;double e_sum = 0.0, o_sum = 0.0;
printf(“Enter the integer:(0 to quit).n”);while(scanf(“%d”, &num)== 1 && num!= 0){
switch(num % 2){
case 0:
e_ct++;e_sum += num;break;case 1: o_ct++;
}
}
} o_sum += num;break;printf(“Enter next integer:(0 to quit).n”);printf(“%d even entered.”, e_ct);if(e_ct > 0)printf(“ Average is %g.”, e_sum / e_ct);putchar('n');printf(“%d odd entered.”, o_ct);if(o_ct > 0)printf(“ Average is %g.”, o_sum / o_ct);putchar('n');printf(“Done!n”);
return 0;/* programming exercise 7-6 */ #include int main(void){
char ch;char prev = 0;/* 记得对prev进行0填充,否则有可能定义的内存的垃圾数据恰好为e */ int count = 0;
while((ch = getchar())!= '#'){
} switch(count){
case 0: printf(“”ei“ no apeared.n”);break;if(ch == 'i' && prev == 'e')count++;prev = ch;case 1: printf(“”ei“ apeared 1 time.n”);break;default: printf(“”ei“ apeared %d times”, count);
} }
return 0;/* programming exercise 7-7 */ #include #define BASEPAY 10 #define BASEHRS 40 #define OVERRATE 1.5 #define LEVEL1 300 #define LEVEL2 150 #define TAX1 0.15 #define TAX2 0.20 #define TAX3 0.25
int main(void){
float hours;float total, tax, net;
printf(“Please enter your work time: ”);
scanf(“%f”, &hours);if(hours > BASEHRS)total = BASEPAY *(BASEHRS +(hoursLEVEL1)* TAX2;else tax = LEVEL1 * TAX1 + LEVEL2 * TAX2 +(totalLEVEL2)* TAX3;
}
/* programming exercise 7-8 */ #include net = totalBASEHRS)* printf(“Please enter the right number: n”);continue;OVERRATE);
else total = hours * basepay;if(total
}
}
total, tax, net);printf(“Please enter next number:n”);printf(“That's all!n”);
return 0;/* programmming exercise 7-9 */ #include int main(void){
int num;int div;int count;
printf(“Please enter the limit in integer:n”);scanf(“%d”, &num);while(num >1){
}
} for(div = 2, count = 0;div
} if(count == 0)printf(“%d ”, num);if(num % div == 0)count++;num--;printf(“nThat's all!n”);return 0;/* programming exercise 7-10 */ #include #define RATE1 0.15 #define RATE2 0.28 #define LEVEL1 17850 #define LEVEL2 23900 #define LEVEL3 29750 #define LEVEL4 14875 int main(void){
double tax;double income;int type;long level;
printf(“Please choose your type as follow:(q to quit)n”);printf(“1)Single;
2)Householder;n”);printf(“3)Married;
4)Divorcedn”);while(scanf(“%d”, &type)== 1){
switch(type){
case 1: level = LEVEL1;break;case 2: level = LEVEL2;break;case 3: level = LEVEL3;break;
}
}
} case 4: level = LEVEL4;break;default:
printf(“You should choose the number” “between 2 and 4(q to quit).n”);printf(“Please enter the right number:n”);continue;printf(“Please enter your income:n”);scanf(“%lf”, &income);if(income
else if(total_wt
total_cost / total_wt, total_wt, total_wt > 1 ? “pounds” : “pound”);
} printf(“total cost is $%g, and %d%% off, freight is $%g.n”, total_cost, discount == 1 ? 5 : 0, freight);
return 0;