当前位置:文档之家› 课后题答案-C语言程序设计(第2版)

课后题答案-C语言程序设计(第2版)

《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。

#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main(){ int a=7;float x=2.5,y=4.7;printf("%f\n",x+a%3*(int)(x+y)%2/4); }(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf("%f\n",(float)(a+b)/2+(int)x%(int)y); }第三章顺序结构程序设计一选择题A C D C C二操作题1. x=3,a=2,b=32. z=12.7000003. 1 2 1a2 1 2三.编程题编程题1. 某工种按小时计算工资,每月劳动时间(小时)×每小时工资=总工资,总工资中扣除10%公积金,剩余的为应发工资。

编写一个程序从键盘输入劳动时间和每小时工资,打印出应发工资。

解:#include <stdio.h>main(){float sj,gz,yfgz;printf("time,salary:");scanf("%f,%f",&sj,&gz);yfgz=sj*gz*0.9;printf("total salary:%f\n",yfgz);}本程序运行结果为:time,salary:4,3<CR>total salary:10.8000002.编写一个程序求出任意一个输入字符的ASCII码解:#include <stdio.h>main(){char c;printf("Input a string:");scanf("%c",&c);printf("%c ASCII is %d\n",c,c);}本程序运行结果为:Input a string:a<CR>a ASCII is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付解:main(){float p,y,x,j,ys,g,fk;printf("apple,pear,banana,orange(weight)=");scanf("%f,%f,%f,%f",&p,&y,&x,&j);ys=2.5*p+1.8*y+2*x+1.6*j;printf("fu kuan=");scanf("%f",&g);fk=g-ys;printf("result:\n");printf("fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6.2fyuan\n",g ,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

#include<math.h>main(){ int n;float rate=0.0225,capital,deposit;scanf("%d,%f",&n,&capital);deposit=capital*pow(1+rate,n);printf("deposit=%f\n",deposit); }2.将一个三位数整数,正确分离出它的个位、十位和百位数字,并分别在屏幕上输出。

main(){ int n,a,b,c;scanf("%3d",&n);a=n/100;b=n%100/10;c=n%100%10/1;printf("a=%d,b=%d,c=%d\n",a,b,c); }第四章选择结构程序设计一、略二、B B A B C B A三、1. 1 02. 2 3 2 23. 10 20 04. ch>=’A’&&ch<=’Z’||ch>=’a’&&ch<=’z’ch>=’0’&&ch<=’9’ch==’’5. -1四、上机操作1. 从键盘输入一个英文字母,如果是大写字母,则将它变为小写字母输出;如果是小写字母,则将其变为大写字母输出。

#include<stdio.h>main(){char ch;ch=getchar();if(ch>='A'&&ch<='Z') ch+=32;else if(ch>='a'&&ch<='z') ch-=32;putchar(ch);putchar('\n'); }2. 根据输入的x值依据下列表达式,计算y的值。

2x (x>-1)y = 3 (x=-1)4+x (x<-1)解:main(){float x,y;scanf("%f",&x);y=2*x;else if(x==1)y=3;else y=4+x;printf("y=%f",y);}本程序运行结果为:-2<CR>y=2.0000003.编写程序,输入一个整数,判断它是奇数还是偶数,若是奇数,输出“Is Odd“;若是偶数,输出“Is Even“。

main(){ int x;scanf("%d",&x);if(x%2==0) printf("Is Even\n");else printf("Is Odd\n"); }4.设计应用程序,求二次方程ax2+bx+c=0的解。

#include<math.h>main(){ float a,b,c,disc,x1,x2,p,q;scanf("%f,%f,%f",&a,&b,&c);if(fabs(a)<=1e-6) printf(" The equation is not a quadratic\n");else{ disc=b*b-4*a*c;if(fabs(disc)< 1e-6) printf("x1=x2=%8.4f\n",-b/(2*a));else if(disc>1e-6){x1=(-b+sqrt(disc)/(2*a));x2=(-b-sqrt(disc)/(2*a));printf("x1=%8.4f,x2=%8.4f\n",x1,x2); }else{ p=-b/(2*a);q=sqrt(-disc/(2*a));printf("%8.4f+%x8.4fi\n",p,q);printf("%8.4f-%8.4fi\n",p,q);} } }5.按托运规则,行李不超过50公斤时,运费为0.15元/公斤,如超过50公斤,超过部分的运费为0.22元/公斤,现有行李w公斤,编写一个程序计算运费。

解:#include <stdio.h>main(){float w,f,x;printf("weight:");scanf("%f",&w);if(w<=50)x=0.15*w;elsex=0.15*50+0.22*(w-50);printf("money:%6.2f yuan\n",x);}本程序运行结果为:weight:20<CR>money:3.00 yuanweight:60<CR>money:9.70 yuan6. 某商场给与顾客购物的折扣率如下:购物金额<200元不打折500元>购物金额>=200元 9折1000元>购物金额>=500元 8折购物金额>=1000元 7.5折输入一个购物金额,输出打折率、购物实际付款金额。

相关主题