第四章 选择结构课后编程题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
石家庄市求实电脑职业培训学校全国计算机等级考试
二级C语言程序设计
统编教程课后编程题参考答案
第四章选择结构
全国统编教程第49页
石家庄市求实电脑职业培训学校
4.21 若a 的值小于100,请将以下选择结构改写成由switch 语句构成的
选择结构。
if(a<30) m=1;
else if(a<40) m=2;else if(a<50) m=3;else if(a<60) m=4;else m=5;
30
40
50
60
100
m=1m=2m=3m=4m=5
switch(a/10)
{ case 3:m=2;break;case 4:m=3;break;case 5;m=4;break;case 6:case 7:
case 8:case 9:m=5;break;default:m=1;}
此类试题需要绘制一个数轴,进行分析并写出程序。
石家庄市求实电脑职业培训学校
4.22 编写程序,输入一位学生的生日(年:y0、月:m0、日:d0),并
输入当前的日期(年:y1、月:m1、日:d1 ),输出该省的实际年龄。
# include <stdio.h>main()
{ int y0,m0,d0;int y1,m1,d1;int age;
printf(“请输入出生年月日:”);
scanf(“%d,%d,%d”,&y0,&m0,&d0);printf(“\n 请输入当前年月日:”);
scanf(“%d,%d,%d”,&y1,&m1,&d1);if(y1<y0) printf(“输入错误!\n”);else if(m0<m1) age=y1-y0;else if(m0>m1) age=y1-y0-1;else if(d0<=d1) age=y1-y0;else if(d0>d1) age=y1-y0-1;
printf(“\n 该生年龄为:%d \n”,age);}
石家庄市求实电脑职业培训学校
4.23 编写程序,输入一个整数,打印出它是奇数还是偶数。
# include <stdio.h>main(){ int num;
printf(“请输入一个整数:”);scanf(“%d”,&num);if(num%2)
printf(“%d是奇数\n”,num);else
printf(“%d是偶数\n”,num);}
石家庄市求实电脑职业培训学校
4.24 编写程序,输入a 、b 、c 三个数,打印出最大值。
# include <stdio.h>main()
{ int a,b,c;int max;
printf(“请输入三个整数:”);
scanf(“%d,%d,%d”,&a,&b,&c);
printf(“a=%d,b=%d,c=%d \n”,a,b,c);max=a;
if(b>max) max=b;if(c>max) max=c;
printf(“max=%d \n”,max);}
石家庄市求实电脑职业培训学校
4.25 对于以下函数:
y=
x (-5<x<0)x-1 (x=0)
x+1 (0<x<10)
编写程序,要求输入x 的值,输出y 的值。分别用:(1)不嵌套的if 语句(2)嵌套的if 语句(3)if-else if 语句(4)switch 语句
石家庄市求实电脑职业培训学校
-5
10
(1)不嵌套的if 语句
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);if(x>-5 && x<0) y=x;if(x==0) y=x-1;
if(x>0 && x<10) y=x+1;printf(“y=%d \n”,y);}
石家庄市求实电脑职业培训学校
-5
10
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);if(x==0) y=x-1;if(x<0)
if(x>-5) y=x;else
if(x<10) y=x+1;printf(“y=%d \n”,y);}
石家庄市求实电脑职业培训学校
-5
10
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);if(x>-5 && x>0) y=x;else if(x==0) y=x-1;else if(x<10) y=x+1;printf(“y=%d \n”,y);}
石家庄市求实电脑职业培训学校
-5
10
# include <stdio.h>main(){ int x,y;
printf(“请输入一个整数:”);scanf(“%d”,&x);switch(x)
{ case -4:case -3:case -2:case -1:y=x;break;case 0:y=x-1;break;
case 1:case 2:case 3:case 4:case 5:
case 6:case 7:case 8:case 9:y=x+1;break;}
printf(“y=%d \n”,y);}