C语言课后答案.pdf
《C语言课后答案.pdf》由会员分享,可在线阅读,更多相关《C语言课后答案.pdf(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、.苏小红等编著,电子工业出版社 感谢龙三少同学的支持.第一章:1.1 硬件:光盘驱动器,硬盘驱动器,网络卡,声音卡,CPU,主板,内存,游戏杆,键盘,鼠标.软件:QQ,迅雷,千千静听,暴风影音,超星阅读器,X-scan.1.2 五个部分:控制器,运算器,存储器,输入设备,输出设备.1.3/*功能:本程序修改课本上例 1.4,计算 123+456 作者:漏网之鱼 创建日期:20070729 版本:无 修改:无*/#include main()printf(%dn,123+456);/*只修改这儿即可*/1.4 BASIC,C,C+,C#,Java,VB;PHP,JavaScript,VBScri
2、pt,ASP,PYTHON,Ruby On Rails.1.5 学习:在 上搜索资料.生活:在 QQ 上泡 MM.第二章:2.1 第五个和第六个是合法的.2.2 CBABDDDCB 2.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、句;空语句.3.2:CD /*本小题答案感谢观海听涛的东东同学的提醒*/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)0 1 1(3)68(4)3.500000(5)12 9 13 9(6)12 9 13 9 3.5:/*功能:本程序从键盘接收三个参数,分
4、别为三角形的三条边 输出三角形的面积 作者:漏网之鱼 日期:20070731 修改:版本:无*/#include#include int 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(
5、the area is%fn,area);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)这个我不说你
6、也猜得到吧.(5)abcdefg$abcdefg abcdefg/*老实说,我对他们把 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&ch58 ch=32(3)fahr celsius=5.0/9.0*(fahr-32)fahr+=step/*我又不得不多说几句了,这个程序很经典,我相信大伙以后还会看到的.只是课本上第十二行少了一个%,它是这么写的pirntf(4.0ft%6.1fn,fahr,celsius
7、);上面一个还漏了,你用 getchar,用个毛!*/.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(its a negetive numbern);/*负数*
8、/.if(int)fabs(s)%2)/*用这个数的绝对值取模,如为 1,则为奇数,否则为偶数*/printf(its a odd numbern);else printf(its a even numbern);getch();return(0);4.6:/*功能:一个分段函数,根据 X 的值输出 Y.作者:漏网之鱼 日期:20070805 修改:版本:无*/#include#include int main(void)int x;float y;printf(enter x please!n);scanf(%d,&x);.if(x)/*非零的 X*/if(x0)y=exp(-x);prin
9、tf(y is%fn,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 aisoc
10、eles 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 a trianglen);return(0);4.8:/*功能:根据输入显示一句话 作者:漏网之鱼 日期:20070805.修改:版本:无*/#include int main(void)int c;printf(*Time*n1 morningn2 afterno
11、onn3 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:/*功能:得到一个年份和一个月份,输出这个月有多少天.作者:漏网之鱼 日期:20070805 修改:版本:无*/
12、#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:printf(31);break;case 4:printf(
13、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);4.10:/*功能:计算从 1 加到 101,其中每次加二 作者:漏网之鱼.
14、日期:20070805 版本:修改:无*/#include int 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+2);/*和上一题一样,没有什么可说的*/i-=2;printf(
15、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(i)fac*=i;/*函数功能:计算输入参数的阶乘*/i-;return(fac)
16、;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 sum is%d,sum);return(0);4.14:/*功能:计算 PI 的值 作者:漏网之鱼
17、日期:20070805 版本:修改:无*/#include int main(void)float n=50,pi,sum=1;/*可以将这一百个数分为 50 组,规律就出来了*/while(n)sum*=(2*n)*(2*n)/(2*n-1)*(2*n+1);n-=1;pi=sum+sum;printf(pi is%f,pi);.return(0);4.15:/*功能:计算共加了多少项才可以让最后一项小于 0.00001 作者:漏网之鱼 日期:20070805 版本:修改:无*/#include#include#define mix 0.00001 int fac(int x);int ma
18、in(void)int n=1;while(float)1/fac(n)mix)n=n+=1;printf(we add it%d timesn,n+2);/*当它小于 0.00001 时,WHILE 结束*/return(0);/*此时应多加 1,第一项为 1,故加 2*/int fac(int i)int fac=1;while(i).fac*=i;i-;return(fac);4.16:/*功能:相加直到加数的绝对值小于 0.0001 作者:漏网之鱼 日期:20070806 修改:版本:无*/#include#include#define mix 0.0001 int main(void
19、)int sign=1,n=1;float sum=0,term=1;while(fabs(term)mix)n+;sign=-sign;sum+=term;term=(float)sign/n;.printf(the sum is%f,sum);return(0);4.17:/*功能:相加直到加数的绝对值小于 0.00001 作者:漏网之鱼 日期:20070806 修改:版本:无*/#include#include#define mix 0.00001 int main(void)float x,term,sum=0;int n=1;printf(enter x please:n);scan
20、f(%f,&x);term=x;printf(term is%fn,term);while(fabs(term)mix)sum+=term;term=-term*x*x/(n+1)*(n+2);.n+=2;printf(the sum is%f,sum);return(0);4.18:/*功能:打印所有水仙花数 作者:漏网之鱼 日期:20070807 修改:版本:无*/#include int main(void)int high,mid,low,n;for(n=100;n1000;n+)low=n%10;mid=(n/10)%10;/*除以 10 并以 10 取模,得十位数*/high=n/
21、100;/*整数除,得百位数*/if(n=low*low*low+high*high*high+mid*mid*mid)printf(the flower number is%dn,n);return(0);.4.19:/*功能:计算一个数字的各位之和 作者:漏网之鱼 日期:20070807 修改:版本:无*/#include#include int main(void)int num,sum;printf(enter the number please:n);scanf(%d,&num);num=fabs(num);/*这儿破坏了原始数据*/sum=num%10+(num/10)%10+(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课后 答案
限制150内