习题解答14章.docx
- 文档编号:3003984
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:19
- 大小:33.10KB
习题解答14章.docx
《习题解答14章.docx》由会员分享,可在线阅读,更多相关《习题解答14章.docx(19页珍藏版)》请在冰豆网上搜索。
习题解答14章
习题一2
习题二3
习题三4
习题四10
C语言程序设计习题解答
习题一
一、单项选择题
C2.A3.D
二、填空题
1.顺序结构选择结构循环结构
2.算法
3.语言简洁、运算符丰富、结构化语言
4.可移植性强、代码效率高、书写格式自由
5.错误隐蔽、有时会难以理解、有时会难以修改
6.群举法(枚举法)、递推法(迭代法)、递归法
7.做什么怎么做
三、应用题
1.
include
voidmain()
{
printf(“*************************\n”);
printf(“Clanguageprogram\n”);
printf(“*************************\n”);
}
2.
include
voidmain()Z\+
{
inta,b,c,max;
scanf(“%d%d%d”,&a,&b,&c);
if(a>b)max=a;
elsemax=b;
if(max printf(“Max=%d\n”,max); } 习题二 一、单项选择题 1.A,D,E2.B,E3.B,D,E,F,H4.B,F5.A,B,E 二、填空题 1.⑴int⑵char⑶double⑷long⑸char⑹char⑺int⑻long 2.⑴0⑵0⑶2⑷4⑸4⑹8⑺0⑻2 3.2111 4.不做 5.sin(25*3.14159/180)+cos(30*3.14159/180) 6.2 8.5 三、给出各个程序的运行结果 1.运行结果如下: 3 21 5 5 2.运行结果如下: 6,9 9,27 习题三 一、单项选择题 1.D2.B3.D4.C5.B6.C7.B8.A9.C10.D 11.D12.D13.B14.A15.A16.B17.C18.C19.B20.B 21.D22.C23.C24.D25.C26.C27.D28.D29.B30.A 二、填空题 1.从标准设备(键盘)上读入一个字符向标准设备(键盘)上输出一个字符 #include 2.以十进制形式输入一个整数表示从标准输入设备(键盘)读取输入的3个整型数 表示掉过3个整数不读取用来输入一个字符 3.以十进制形式输出一个整数以十六进制形式输出一个整数 以十进制小数形式输出,输出的数据长度为7位,其中有两位为小数 以字符形式输出一个字符 4.分程序;;5.-16.非00 7.a%7==0else8.39.2 10.forwhiledo-while11.Continue12.a=16,y=42 13.1014.y=1915.22222 16.3917.718.5,5 19.n=420.-321.8 三、程序阅读分析题 1. 2. 3.04.5675.thisnumberisahuiwen 四、编程题 1.编写一个程序,要求用户输入两个整数,判定其中一个是否能整除另一个。 #include intmain() { inta,b; while(scanf("%d%d",&a,&b)==2) { if(a%b)printf("不能整除\n"); elseprintf("能整除\n"); } return0; } 2.编程实现: 输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一: ①能同时被3,5,7整除; ②能被其中两数(要指出哪两个)整除; ③能被其中一个数(要指出哪一个)整除; ④不能被3,5,7任一个整除。 #include voidmain() { inta; printf("请输入一个整数\n"); scanf("%d",&a); if(a%3==0&&a%5==0&&a%7==0) printf("%d能同时被3,5,7整除\n",a); elseif(a%3! =0&&a%5==0&&a%7==0) printf("%d能同时被5,7整除\n",a); elseif(a%3==0&&a%5! =0&&a%7==0) printf("%d能同时被3,7整除\n",a); elseif(a%3==0&&a%5==0&&a%7! =0) printf("%d能同时被3,5整除\n",a); elseif(a%3==0&&a%5! =0&&a%7! =0) printf("%d能被3整除\n",a); elseif(a%3! =0&&a%5==0&&a%7! =0) printf("%d能被5整除\n",a); elseif(a%3! =0&&a%5! =0&&a%7==0) printf("%d能被7整除\n",a); elseprintf("%d不能被3,5,7整除\n",a); } 3.市郊长途电话收费标准如下: 通话时间在三分钟以下收费一角,三分钟以上则每超过一分钟加一角。 在7: 00—21: 00之间通话者,按收费标准全价收费;在其它时间通话者,按收费标准的一半收费。 请计算某人在x时间通话y分钟,应缴多少电话费。 (通话时间利用整数输入实现) #include main() { floatx,y=0; intt; scanf("%f%d",&x,&t); if(t>7&&t<21) { if(x<3) y=0.1; else do { y=0.2+y; x=x-1; }while(x-3>0); } else { if(x<3) y=0.1/2; else do { y=(0.2+y)/2; x=x-1; }while(x-3>0); } printf("%f",y); } 4.输入a、b、c三条边,判断它是否构成三角形。 若能构成三角形,则计算三角形面积。 #include #include main() { floata,b,c,S=0,x=0; printf("输入三角形三条边的边长: "); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&b+c>a&&a+c>b) { x=(a+b+c)/2.0; S=sqrt(x*(x-a)*(x-b)*(x-c)); printf("area=%.3f\n",S); } Else printf("不能构成三角形\n"); } 5.打印出所有”水仙花数”。 所谓”水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。 例如,153是一个”水仙花数”,因为153=13+53+33。 #include"stdio.h" #include"math.h" main() { inti; inta,b,c; for(i=100;i<=999;i++) { a=i%10;/*取个位数*/ b=i/10%10;/*取十位数*/ c=i/100;/*取百位数*/ if(i==a*a*a+b*b*b+c*c*c) printf("%d",i); } } 6.编写一个程序,在屏幕上显示如下图形(图形的层数读者自行设定): * *** ***** ******* ***** *** * #include #include main() { inti,j,k; for(i=-3;i<=3;i++) { for(j=1;j<=abs(i);j++) printf("%c",32); for(j=1;j<=7-2*abs(i);j++) printf("*"); printf("\n"); } } 7.求斐波那契(Fibonacci)数列: 1,1,2,3,5,8,......的前40个数。 斐波那契数列的定义: F1=1(n=1) F2=1(n=2) Fn=Fn-1+Fn-2(n≥3) #include main() { intf1,f2,f; inti; f1=f2=1; printf("%d\n%d\n",f1,f2); for(i=1;i<=38;i++)/*已经有两个数,只要再产生38个数即可*/ { f=f1+f2; f1=f2; f2=f; printf("%d\n",f); } } 8.编程实现求1+2+3+…+n之和,并输出当其和第一次大于或等于100时的值及n值。 #include main() { inti,s,t=0; i=1;s=0; while(i<=100) { s=s+i; if(s>=100&&t<1)/*设定t只求第一次和大于100的内容*/ { printf("第一次和大于或等于100时和为%d\n",s); printf("第一次和大于或等于100时n为%d\n",i); t+=1; } i=i+1; } printf("s=%d\n",s); } 9.整元换零钱问题。 把1元兑换成1分、2分、5分的硬币,共有多少种不同的换法? #include main() { inti,j,k,n; n=100,k=0; for(i=0;i<=n/5;i++) for(j=0;j<=(n-i*5)/2;j++) { printf("5cent=%d\t2cent=%d\t1cent=%d\n",i,j,n-i*5-j*2); k++; } printf("totaltimes=%d\n",k); } 10.编写解鸡兔同笼问题的程序。 用户输入头的数目和脚的数目,输出鸡、兔各有多少只。 #include main() {intx,y,a,b; printf("输入鸡兔头的数目: "); scanf("%d",&x); printf("输入鸡兔脚的数目: "); scanf("%d",&y); a=x-(y-2*x)/2; b=(y-2*x)/2; printf("鸡有%d只,兔有%d只",a,b); } 11.打印杨辉三角形,即(x+y)n展开式的各项系数。 并且在程序运行开始时,问用户n的值为多少,接着打印如下形式至指定行数。 1 11 121 1331 14641 ... #include intmain()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 解答 14