C语言程序设计习题答案(1 5章)

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题三 顺序程序设计
一、选择题 1~10:BCCBC CCDCC
二、填空题 1. printf( ) 、 scanf( ) 2. l (注:long 的第 1 个字符) 3. 域宽,即在格式字符前加一个整数,如%5d 4. ‘\0’ 5. e 、 g 6. 6 7. s 、 c 8. * 9. 、 + 10. i 三、编程题 1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进 答:程序参见文件 Cprogram\xt3_3_01.c #include "stdio.h" main() {int x,h,m,s; scanf("%d",&x); h=x/3600; m=x%3600/60; s=x%60; printf("%ds=%d:%d:%d!\n",x,h,m,s); } 2. 编写程序,读入三个整数给变量 a、b、c,然后交换它们中的数,把 a 中原来的值给 b,
习题四 选择结构程序设计
一、填空题 1. 2. 3. 1 、 ! % + x==0 0 <=
!=
&&
||
=
4. 0,2 5. 20 、 0 二、选择题 1~7:DDCAD DC 三、程序阅读题

0
1. 595959 2. 0.500000 3. 1 4. 2 5. 6 6. a=2,b=1 7. pass warn 8. 1 四、编程题 1. 设 a 为整型变量且其值大于零,请将以下 if 语句改写成 switch 语句。 if ( a<60) m=1; else if(a<70) m=2; else if(a<80) m=3; else if(a<90) m=4; else m=5; 答:程序参见文件 Cprogram\xt4_4_1.c 或 Cprogram\xt4_4_1b.c #include "stdio.h" main() {int a,m; scanf("%d",&a); switch(a/10) {case 0:case 1:case 2:case 3: case 4:case 5:m=1;break;
习题五 循环结构程序设计
一、阅读题 1. 8 2. 4321 3. X
6
4. 5. 6. 7. 8. 二、填空题
-1 23 52 5 3
1. 18 2. 2 3. b=i+1 4. 17 5. i<=9 、 j%3!=0 6. d=1.0 、 k=k+1 、 k<=10 三、选择题 1~8:ADDAB DDA 四、编程题 1. 编写程序,打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字的立方之和 等于该数本身。例如,407 是一个“水仙花数”,因为:407=43+03+73。(注:若将题意改为打印出最大的 或最小的“水仙花数”,则应将循环语句作如何调整?)。 答:程序参见文件 Cprogram\xt5_4_01.c #include "stdio.h" main() {int a,b,c,k; for(k=100;k<=999;k++) //求最大的“水仙花数”改用:for(k=999;k>=100;k--) {a=k/100;b=k/10%10;c=k%10; if(k==a*a*a+b*b*b+c*c*c) { printf("%5d",k); //求最大或最小“水仙花数”时增加一个语句:break; } } printf("\n"); } 编写程序,输出从公元 1980 年至 2880 年所有闰年的年号。每输出 5 个年号换一行。 答:程序参见文件 Cprogram\xt5_4_02.c #include "stdio.h" main() {int k,flag,n=0; for(k=1980;k<=2880;k++) {flag=(k%4==0)&&(k%100!=0)||(k%400==0); if(flag) { printf("%5d",k); n++; if(n%10==0) printf("\n"); } } printf("\n"); }
C 语言程序设计习题答案
习题一 C 语言程序设计概述
一、名词解释 (1)程序 P1 (2)程序设计 P1 (3)机器语言 P1 (4)汇编程序 P2 (5)高级语言 P2 (6)编译程序 P3 (7)解释程序 P3 (8)算法 P4 (9)结构化的程序设计 P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输 入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与 N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有 3 个数 a,b,c,要求按由大到小的顺序把它们输出。 输入三个数给 a,b,c 如果 a<b yes 将 a 与 b 的值互换 如果 a<c Yes 将 a 与 c 的值互换 如果 b<c yes 将 b 与 c 的值互换 输出 a,b,c 的值 2. 依次将 10 个数输入,求出其中最大的数 和最小的数并输出。 3. 求 1+2+3+…+100 的值。 s=0; i=1 当 i 小于等于 100 时 s=s+i; i = i+1; 输出 s 的值 4. 求 1×2×3×…×10 的值。
3
行输出。例如输入的时间为 4258 秒,则输出结果为:1 小时 10 分 58 秒。
把 b 中原来的值给 c,把 c 中原来的值给 a。 答:程序参见文件 Cprogram\xt3_3_02.c #include "stdio.h" main() {int a,b,c,t; printf("input a b c:"); scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); t=a;a=c;c=b;b=t; printf("a=%d,b=%d,c=%d\n",a,b,c); }
5
{int x,n; scanf("%d",&x); if(x>1000) n=4; else if(x>100) n=3; else if(x>10) n=2; else n=1; printf("%d\n",n); } 5. 当一个人的月收入在 2000 元以下时免税;月收入在 2000 元到 5000 元之间时,超过 2000 的部分纳税 8%;月收入在 5000 元以上时,2000 至 5000 之间的部分纳税 8%,超过 5000 的部分纳税 15%。编写 程序从键盘输入月收入 income,计算并输出应交税款 tax。 答:程序参见文件 Cprogram\xt4_4_5.c #include "stdio.h" main() {int income; float tax; scanf("%d",&income); if(income<=2000) tax=0; else if(income<=5000) tax=0.08*(income-2000); else tax=0.08*(5000-2000)+0.15*(income-5000); printf("tax=%f\n",tax); } 6. 回文是指正读和反读都一样的数或字符串。例如:12321、55455、35553 等都是回文。请编写一个程序, 从键盘上读取一个包含五位数字的长整数,并判断它是否是回文。(提示:用除法运算和求余运算把一个 数的个位、十位、百位、千位等分别分离出来。) 答:程序参见文件 Cprogram\xt4_4_6.c #include "stdio.h" main() {long x; int a,b,d,e; scanf("%ld",&x); a=x/10000; b=x%10000/1000; d=x%100/10; e=x%10; if(a==e && b==d) printf("%ld is huiwen!\n",x); else printf("%ld is not huiwen!\n",x); }
1
输入一个数给 x no max=x;min=x;n=1; 当 n 小于 10 时 输入下一个数给 x no Yes max = x no Yes min = x n=n+1 输出 max,min 的值 如果 min>x No 如果 max<x No
s=1; i=1 当 i 小于等于 10 时 s=s*i; i = i+1; 输出 s 的值
5. 求下列分段函数的值。 3X 4X-1 5(X-1)+6 6-3X (X<1) (X=1) (1<X<5) (X≥5) 输入一个数给 x X<=1 Yes X<1 Yes Y=3x 6. 求 100~200 之间的所有素数。 i =100 当 i<=200 时 n=2; flag=1; 当 n< i 时 i 能否被 n 整除? yes flag=0 n = n+1 flag=1? yes 输出 i 的值 i = i+1 7. 求一元二次方程 ax2+bx+c=0 的根。分别考虑 d=b2-4ac 大于 0、等于 0 和小于 0 三种情况。 四、注释下面 C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数 10 赋值给变量 a */ k=2; /*将整数 2 赋值给变量 k */ m=1; /*将整数 1 赋值给变量 1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量 a printf("%d\n",a); /*在屏幕上打印出变量 a 的值 */ } /*程序结束 */ no no no y=4x-1 输出 s 的值 yes y=5x+1 x<5 no y=6-3x no
4
ቤተ መጻሕፍቲ ባይዱ
case 6:m=2;break; case 7:m=3;break; case 8:m=4;break; default:m=5;break; } printf("m=%d\n",m); } Cprogram\xt4_4_1b.c #include "stdio.h" main() {int a,m; scanf("%d",&a); m=0; switch(a/10) {default:m++; case 8:m++; case 7:m++; case 6:m++; case 5:case 4:case 3:case 2: case 1:case 0:m++; } printf("m=%d\n",m); } 2. 编写程序,从键盘输入一个整数,打印出它是奇数还是偶数。 答:程序参见文件 Cprogram\xt4_4_2.c #include "stdio.h" main() {int a; scanf("%d",&a); if(a%2==1) printf("%d is a odd number !\n",a); else printf("%d is a even number !\n",a); } 3. 编写程序,从键盘输入一个字符,判别它是否是小写字母,如果是,将它转换为大写字母;如果不是, 不转换。然后输出最后得到的字符。 答:程序参见文件 Cprogram\xt4_4_3.c #include "stdio.h" main() {char ch; scanf("%c",&ch); if(ch>='a' && ch<='z') ch=ch-32; printf("%c\n",ch); } 4. 编写程序,从键盘输入一个不多于 4 位的正整数,打印出它是几位数。 答:程序参见文件 Cprogram\xt4_4_4.c #include "stdio.h" main()
Y=
*/
习题二
一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD
数据类型、运算符与表达式
2
二、填空题 1.字母 L 或字母 l 2. 字符或%c 、 整数或%d 3.在程序运行过程中,其值可以在一定的范围内变化的量。 4. ‘\0’ 5. 小数形式 、 指数形式 6. 关键字 、 预定义标识符 、 用户标识符 7. 字母 、 数字 、 下划线 、 数字 8. 18 9. 2 、 1 、 30 10. 双精度实数或 double 11. 赋值 、 逗号 、20、 20 、 20、 4 12. 4
相关文档
最新文档