C语言课后答案.doc
《C语言课后答案.doc》由会员分享,可在线阅读,更多相关《C语言课后答案.doc(53页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、苏小红等编著,电子工业出版社感谢龙三少同学的支持.第一章:1.1硬件:光盘驱动器,硬盘驱动器,网络卡,声音卡,CPU,主板,内存,游戏杆,键盘,鼠标.软件:QQ,迅雷,千千静听,暴风影音,超星阅读器,X-scan.1.2五个部分:控制器,运算器,存储器,输入设备,输出设备.1.3/*功能:本程序修改课本上例1.4,计算123+456作者:漏网之鱼创建日期:20070729版本:无修改:无 */#includemain()printf(%dn,123+456); /*只修改这儿即可*/ 1.4BASIC,C,C+,C#,Java,VB;PHP,JavaScript,VBScript,ASP,PY
2、THON,Ruby On Rails.1.5学习:在上搜索资料.生活:在QQ上泡MM.第二章:2.1第五个和第六个是合法的.2.2CBABDDDCB2.3(1).sqr(a*a+b*b)/(2*c)(2).fabs(a+b)*(c+d)+2)(3).(log(x)+sin(y)/2(4).2*PI*r /*其中PI是宏常量,即 #define PI 3.141592653*/(5).1/(1+1/x)(6).(sin(3.141592653/6)+2*exp(x)/(2*y+pow(y,x)第三章: 3.1:C语言语句分为四个类型:控制语句;表达语句;复合语句;空语句.3.2:CD /*本小题
3、答案感谢观海听涛的东东同学的提醒*/3.3:(1)地址前没有&scanf(%d,%d,&a,&b);(2)类型不匹配printf(%f,f);(3)类型不匹配scanf(%lf%d,&var,&a);(4)地址前没有&scanf(%d,%dn,&a,&b);(5)scanf不能限制精度scanf(%5f,&f);(6)scanf中不能有=scanf(%d,%d,&a,&b);3.4:(1)aabbccabc(2)01 1(3)68(4)3.500000(5)12 9 13 9(6)12 9 13 93.5:/*功能:本程序从键盘接收三个参数,分别为三角形的三条边输出三角形的面积作者:漏网之鱼日
4、期:20070731修改:版本:无*/#include#includeint main()float a,b,c,s,area;printf(input a,b and c:n);reput: /*提示输入三条边长度*/scanf(%f%f%f,&a,&b,&c);if (a+bc&a-bc) printf(error! reput please:n);/*如果不能组成三角形,则重新输入*/ goto reput; s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); /*根据公式计算面积*/ printf(the area is %fn,area);
5、 return (0); 第四章:4.1:(1)见课本69页.(2)见课本138页.(3)见课本138页139页.4.2:(1)D(2)B(3)D(4)D /*第二小题改正感谢观海听涛的东东同学的提醒, 同学们做题要用眼镜,否则容易做错题,当然,这是我为自己找的一个借口*/4.3:(1)over!(2)right/*出题者希望答案是这个,不过,课本上这个程序不可能通过编译,因为没有包含头文件conio.h.即课本上的程序中并没有#include居然用了getchar,用个毛!(冰雪封情语)*/(3)答案同上,问题同上.(4)这个我不说你也猜得到吧.(5)abcdefg$abcdefg abcd
6、efg/*老实说,我对他们把conio.h这个头文件忘了非常气愤,建议读者看一下K&R C.*/(6)* * * *(7)*#*#*#$4.4:(1)(year%4=0&year%100!=0)|(year%400=0) flag(2)(ch=65&ch=95&ch48&ch58ch=32(3)fahrcelsius=5.0/9.0*(fahr-32) fahr+=step/*我又不得不多说几句了,这个程序很经典,我相信大伙以后还会看到的.只是课本上第十二行少了一个%,它是这么写的pirntf(4.0ft%6.1fn,fahr,celsius);上面一个还漏了,你用getchar,用个毛!*/
7、 4.5:/*功能:该程序判断输入的数字的奇偶性以及正负.作者:漏网之鱼日期:20070804修改:版本:无*/ #include #include int main(void) int s;printf(please input the number:n); scanf(%d,&s);if (s0) printf(its a positive numbern ); /*判断这个数字是不是大于零*/ else if (s=0) printf(its zero!n); /*为零*/ else printf(itsa negetive numbern); /*负数*/ if(int)fabs(s)
8、%2) /*用这个数的绝对值取模,如为1,则为奇数,否则为偶数*/ printf(itsa odd numbern); else printf(itsa even numbern); getch();return (0);4.6:/*功能:一个分段函数,根据X的值输出Y.作者:漏网之鱼日期:20070805修改:版本:无*/ #include #include intmain(void) int x; float y; printf(enter x please!n); scanf(%d,&x);if(x) /*非零的X*/ if (x0) y=exp(-x); printf(y is %fn
9、,y); else y=-(exp(x); /*老实说,优先级我也搞不懂,还是加个括号比较保险*/ printf(y is %fn,y); else y=1; printf(y is %fn,y); return(0);4.7:/*功能:判断输入的三条边能否组成三角形,并判断三角形的类型作者:漏网之鱼日期:20070805版本:修改:无*/ #include int main(void) int a,b,c; printf(enter a,b,c please:n); scanf(%d%d%d,&a,&b,&c);if(a-bc) if(a=b|b=c|c=a) printf(its aiso
10、celes trianglen); else if (a*a+b*b=c*c|a*a+c*c=b*b|c*c+b*b=a*a) printf(its a right-angled trianglen); else printf(its a normal trianglen); else printf(they cannt make up of atrianglen);return(0); 4.8:/*功能:根据输入显示一句话作者:漏网之鱼日期:20070805修改:版本:无*/ #include int main(void) int c;printf(*Time*n1 morningn2 af
11、ternoonn3 nightnplease enter);printf(your choice:n); /*这两句比较变态,建议不用*/ scanf(%d,&c);switch (c)case 1: printf(Good morningn); break;case 2: printf(Good afternoonn); break;case 3: printf(Good nightn); break;default : printf(Selection error!n); break; return(0);4.9:/*功能:得到一个年份和一个月份,输出这个月有多少天作者:漏网之鱼日期:20
12、070805修改:版本:无*/ #include int main(void) int year,month,flag; printf(enter the year and monthn); scanf(%d%d,&year,&month);if(year%4=0&year%100!=0)|(year%400=0) flag=1;else flag=0;printf(the month of the year have );switch (month) case 1: printf(31); break;case 2: printf(%d,flag+28); break;case 3:prin
13、tf(31); break;case 4:printf(30); break;case 5:printf(31); break; /*这儿这么多,显然是麻烦了,你可以试试用几个for循环*/case 6:printf(30); break;case 7:printf(31); break;case 8:printf(31); break;case 9:printf(30); break;case 10:printf(31); break;case 11:printf(30); break;case 12:printf(31); break; printf( daysn); return(0);
14、4.10:/*功能:计算从1加到101,其中每次加二作者:漏网之鱼日期:20070805版本:修改:无*/#includeint main(void) int i=101,sum=0;while(i+1) sum+=i; /*这个题蛮有意思*/ i-=2;printf(the sum is %d,sum); return(0);4.11:/*功能:计算从1到99的和,其中第一项是该数字和它后面两个数字的乘积作者:漏网之鱼日期:20070805修改:版本:无*/ #include int main(void) int i=99,sum=0; while(i+1) sum+=i*(i+1)*(i+
15、2); /*和上一题一样,没有什么可说的*/ i-=2; printf(the sum is %d,sum); return(0);4.12:/*功能:计算从1到10的阶乘的和作者:漏网之鱼日期:20070805修改:版本:无*/ #include #include int fac(int x); /*不好意思,这儿用了个函数(chapter5)*/ int main(void) int i=4,sum=0; while(i) sum+=fac(i); i-; printf(the sum is %d,sum); return(0);int fac(int i)int fac=1; while
16、(i) fac*=i; /*函数功能:计算输入参数的阶乘*/ i-; return (fac);4.13:/*功能:不好说,假设N=2,A=3,它就会计算33+3,N=4,A=3,它会算3333+333+33+3作者:漏网之鱼日期:20070805修改:版本:无*/ #include #include int main(void) int a,n,sum=0,i=0; printf(enter a and n please:n); scanf(%d%d,&a,&n);while(n) sum+=a*n*pow(10,i);/*这句有些乱.*/ n-=1; i+=1; printf(the su
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课后 答案
限制150内