c语言教材习题答案

上传人:xzh****18 文档编号:34260759 上传时间:2018-02-22 格式:DOC 页数:31 大小:141.50KB
返回 下载 相关 举报
c语言教材习题答案_第1页
第1页 / 共31页
c语言教材习题答案_第2页
第2页 / 共31页
c语言教材习题答案_第3页
第3页 / 共31页
c语言教材习题答案_第4页
第4页 / 共31页
c语言教材习题答案_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《c语言教材习题答案》由会员分享,可在线阅读,更多相关《c语言教材习题答案(31页珍藏版)》请在金锄头文库上搜索。

1、第一章:1.3 答:C 程序由一个 main 函数和 0 个或多个自定义函数构成,每个函数的构成如下:函数类型 函数名(函数参数列表) 说明部分执行部分1.4 答:一个函数实现一个相对独立的功能,便于实现程序的模块化。1.5 解:main()printf(*n);printf(n);printf( Very good!n);printf(n);printf(*n);运行结果:*Very good!*1.6 解:main()int a,b,c,max;printf(请输入三个数 a,b,c:n);scanf(%d,%d,%d,max=a;if(maxmain()char c1,c2;printf

2、(请输入两个字符 c1,c2:n);c1=getchar();c2=getchar();printf(用 putchar 语句输出结果为:n);putchar(c1);putchar(c2);printf(n);printf(用 printf 语句输出结果为:n);printf(%c,%cn,c1,c2);运行结果为:请输入两个字符 c1,c2:ab用 putchar 语句输出结果为:ab用 printf 语句输出结果为:a,b回答思考问题:(1)c1 和 c2 可以定义为字符型或整型,二者皆可。(2)在 printf 函数中用%d 格式符输出,即:printf(%d,%dn,c1,c2);(

3、3)字符变量在计算机内占一个字节,而整型变量占两个字节,因此整型变量在可输出字符的范围内(ASCII 码味 0255 之间的字符)是可以与字符数据互相转换的。如果整数在此范围外,则不能替代。第五章:5.2 答:C 语言中用 1 表示真,0 表示假;系统按照“非 0 为真,0 为假”判断一个逻辑量的真假。5.3 解:(1)0 (2)1 (3)1 (4)0 (5)15.4 解:方法一:程序如下:main()int a,b,c;printf(请输入 3 个整数:);scanf(%d,%d,%d,if(ab)?a:b;max=(tempc)?temp:c;printf(3 个整数的最大数是%dn,ma

4、x);运行结果:请输入 3 个整数:12,34,93 个整数的最大数是 34。5.5 解:main()int x,y;printf(输入 x:);scanf(%d,if(x100|score9999 ) place=5;else if(num999)place=4;else if(num99)place=3;else if(num9)place=2;else place=1;printf(“place=%dn”,place);printf(“每位数字为:”);ten_thousand=num/10000;thousand=(int)(num-ten_thousand*1000)/100;hun

5、dred=(int)(num-ten_thousand*10000-thousand*1000)/100;ten=(int)(num-ten_thousand*10000-thousand*1000-hundred*100)/10;indiv=(int)(num- ten_thousand*10000-thousand*1000-hundred*100-ten*10);switch(w)case5:printf(%d,%d,%d,%d,%d,ten_thousand,thousand,hundred,ten,indiv); printf(“n 反序数字为:”);printf(%d%d%d%d%

6、dn, indiv,ten,hundred,thousand,ten_thousand);break;case 4:printf(%d,%d,%d,%d,thousand,hundred,ten,indiv);printf(“n 反序数字为:”);printf(%d%d%d%dn, indiv,ten,hundred,thousand);break;case 3: printf(%d,%d,%d,hundred,ten,indiv);printf(“n 反序数字为:”);printf(%d%d%dn, indiv,ten,hundred);break;case 2: printf(%d,%d,

7、ten,indiv);printf(“n 反序数字为:”);printf(%d%dn, indiv,ten);break;case 1: printf(%d,indiv);printf(“n 反序数字为:”);printf(%dn, indiv);break;运行结果:Please input a number(099999):98765位数=5每位数字为:9,8,7,6,5反序数字为:567895.8 解:(1)用 if 语句编程序:main()long i;float bonus,bon1,bon2,bon4,bon6,bon10;bon1=100000*0.1;bon2=bon1+100

8、000*0.075;bon4=bon2+200000*0.05;bon6=bon4+200000*0.03;bon10=bon6+400000*0.015;printf(请输入利润 i:);scanf(%ld,if(i10) then c=10;switch(c)case 0:bouns=i*0.1;break;case 1:bonus=bon1+(i-100000)*0.075;break;case 2:case 3:bonus=bon2+(i-200000)*0.05;case 4:case 5:bonus=bon4+(i-400000)*0.03;break;case 6:case 7:

9、case 8:case 9:bonus=bon6+(i-600000)*0.015;break:case 10:bonus=bon10+(i-1000000)*0.01;printf(奖金是 %10.2f,bonus);运行结果:请输入利润:23400奖金是:19200.005.9 解:main()int a,b,c,d,t;printf(Input four number:);scanf(“%d,%d,%d,%d”,printf(na=%d,b=%d,c=%d,d=%dn,a,b,c,d);if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(ad)t=a;a=d;d

10、=t;if(bc)t=b;b=c;c=t;if(bd)t=b;b=d;d=t;if(cd)t=c;c=d;d=t;Printf(“排序结果如下:n”);printf(%d,%d,%d,%dn,a,b,c,d);运行情况:Input four number:6,8,1,4a=6,b=8,c=1,d=4排序结果入下:1,4,6,85.10 解:main()int h=10;float x1=2,y1=2,x2=-2,y2=2,x3=-2,y3=-2,x4=2,y4=-2,x,y,d1,d2,d3,d4;printf(“请输入一个点(x,y):”);scanf(“%f,%f”,d1=(x-x1)*(

11、x-x1)+(y-y1)*(y-y1);d2=(x-x2)*(x-x2)+(y+y2)*(y+y2);d3=(x+x3)*(x+x3)+(y-y3)*(y-y3);d4=(x+x4)*(x+x4)+(y+y4)*(y+y4);if(d11printf(“该点高度为%d”,h);运行情况: 请输入一个点(x,y):0.5,0.7该点高度为 0 请输入一个点(x,y):2.1,2.3该点高度为 10第六章:6.1 解:main()int p,r,n,m,trmp;printf(“请输入两个正整数 n,m:”);scanf(“%d,%d”,if(nmain()char c;int letter=0,

12、space=0,digit=0,other=0;printf(请输入一行字符:n);while(c=getcher()!=n)if(c=a&c=Ac=0&c0)x1=(x2+1)*2;x2=x1;day-;printf(total=%dn,x1);6.11 解:#includemain()float a,x0,x1;printf(Enter a positive number:);scanf(%f,x1=(x0+a/x0)/2;dox0=x1;x1=(x0+a/x0)/2;while(fabs(x0-x1)=1e-5);printf(The square root of %5.2f is %8

13、.5fn,a.x1);6.12 解:#includemain()float x,x0,f,f1;x=1.5;dox0=x;f=(2*x0-4)*x0+3)*x0-6;f1=(6*x0-8)*x0+3;x=x0-f/f1;while(fabs(x=x0)=1e-5);printf(The root of equation is %5.2fn);6.13 解:#includemain()float x0,x1,x2,fx0,fx1,fx2;doprintf(Enter x1scanf(%f,%f,fx1=x1*(2*x1-4)*x1+3)-6;fx2=x2*(2*x2-4)*x3+3)-6;whi

14、le(fx1*fx20);do x0=(x1+x2)/2;fx0=x0*(2*x0-4)*x0+3)-6;if(fx0*fx1)=1e-5);printf(x=%6.2fn,x0);6.14 解:main()int i,j,k;for(i=1;imain() int i,j,n,a101;for(i=1;iaj) min=j;temp=ai;ai=amin;amin=temp;printf(nThe sorted numbers:n);for(i=1;iend)a10=number;elsefor(i=0;inumber)temp1=ai;ai=number;for(j=i+1;jn)i=i+

15、2;j=j-1;elseif(in) j=1;if(aij=0)aij=k;elsei=i+2;j=j-1;aij=k;for(i=1;imax)max=aij;maxj=j;for(k=0,flag1=1;kakmaxj)flag1=0;if(flag1)printf(n 第%d 行,第%d 列的%d 是鞍点n,i,maxj,max);flag2=1;if(flag2)printf(n 矩阵中无鞍点!n);7.9 解:#include#define N 15main()int i,j,number,top,bott,mid,loca,aN,flag=1,sign=1;char c;printf(Enter data:n);scanf(%d,i=1;while(i=ai-1)i+;elseprintf(Enter

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 高中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号