第5678周选择结构程序练习参考答案.docx
- 文档编号:1270622
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:16
- 大小:186.29KB
第5678周选择结构程序练习参考答案.docx
《第5678周选择结构程序练习参考答案.docx》由会员分享,可在线阅读,更多相关《第5678周选择结构程序练习参考答案.docx(16页珍藏版)》请在冰点文库上搜索。
第5678周选择结构程序练习参考答案
第5,6,7,8周选择结构程序练习
1.编写程序ifelsec1.c:
输入任意一个整数,判断是奇数还是偶数;
#include
voidmain()
{
inta;
printf("请输入一个整数a");
scanf("%d",a);
if(a%2==0)
printf("这是偶数!
");
else
printf("是奇数!
");
}
2.编写程序ifelsec2.c:
输入2个实数,要求按由小到大的次序输出这两个数;
#include
voidmain()
{
floata,b;
printf("pleaseentera,b:
");
scanf("%f,%f",&a,&b);
if(a
printf("%6.2f,%6.2f\n",a,b);
else
printf("%6.2f,%6.2f\n",b,a);
}
3.编写程序ifelsec3.c:
请编写一个“A类邮件”计费程序,输入邮件重量,求出邮件的邮资费并输出:
“A类邮件”计费规定:
当邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03元计费;
#include
voidmain()
{
floata,b;
printf("请输入邮件重量:
");
scanf("%f",&a);
if(a<=200)
b=a*0.06;
if(a>200)
b=200*0.06+(a-200)*0.03;
printf("%f",b);
}
4.编写程序ifelsec4.c:
从键盘输入x,求分段函数y的值并输出:
-4X2+3X-3X>=100
Y=123-100 9X3+5X2-7X-9X<=-100 #include #include voidmain() { floatx,y; printf("pleaseenterx: "); scanf("%d",y); if(x>=100) y=-4*x*x+3*x-3; if(x<=-100) y=9*x*x*x+5*x-7*x-9; if(x>-100&&x<100) y=123; printf("y=%6.2f\n",y); } 5.编写程序ifelsec5.c: 输入a,b,c,求方程ax2+bx+c=0的实根(当判别式小于0时,显示“判别式小于0,无实根! ”,当a=0时,显示“a不能为0! ”); #include #include voidmain() {floata,b,c,disc,x1,x2; printf("pleaseentera,b,c: "); scanf("%f,%f,%f",&a,&b,&c); if(fabs(a)<=1e-6) printf("a不能为0! \\n"); else {disc=b*b-4*a*c; if(fabs(disc)<=1e-6) printf("两个相等实根: %f\n",-b/(2*a)); elseif(disc>0) {x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("两个实根分别为: %f和%f\n",x1,x2); } else printf("判别式小于0,无实根! \\n"); } } 6.编写程序ifelsec6.c: “某种个人所得税”计税标准: 当个人收入小于等于1200元时,免交个人所得税;当个人收入大于1200元时,超过1200元的部分应交个人所得税为8%;输入个人收入,求个人所得税并输出; #include voidmain() { floatx,y; printf("pleaseenterx: "); scanf("%f",&x); if(x<=1200) y=0; else y=(x-1200)*0.08; printf("个人所得税=%f\n",y); } 7.编写程序ifelsec7.c: 要求按照输入的考试成绩的等级打印出百分制分数段。 A: “85~100”B: “70~84”C: “60~69”D: “<60”其他字符: “error”; #include voidmain() { chargrade; scanf("%c",&grade); switch(grade) {case'A': printf("85~100\n");break; case'B': printf("70~84\n");break; case'C': printf("60~69\n");break; case'D': printf("<60\n");break; default: printf("error\n"); } }8.编写程序ifelsec8.c: 从键盘输入任一字母,若其为大写字母,则改为对应的小写字母,若其为小写字母,则改为对应的大写字母,否则就输出“输入的不是字母! ”; #include voidmain() {charc; printf("pleaseenterzifuc: "); scanf("%c",&c); if(c>='A'&&c<='Z') {c=c+32; printf("%c\n",c);} elseif(c>='a'&&c<='z') {c=c-32; printf("%c\n",c);} else printf("输入的不是字母! \n"); } 9.编写程序ifelsec9.c: 从键盘输入选择(天气如何? [1: 晴天,2: 多云,3: 下雨]) ,根据天气情况,安排活动。 晴天: 上街购物! 多云: 去游泳! 下雨: 在家看电视! 否则就输出是“错误选择! ” #include voidmain() { intw_con;/*天气情况变量定义*/ printf("天气如何? [1: 晴天,2: 多云,3: 下雨]"); scanf("%d",&w_con); switch(w_con) {case1: printf("上街购物! \n");break; case2: printf("去游泳! \n");break; case3: printf("在家看电视! \n");break; default: printf("错误选择! \n"); } } 10.编写程序ifelsec10.c: 输入4个整数,按值大到小的顺序输出。 #include voidmain() {intt,a,b,c,d; printf("请输入4个数: "); scanf("%d,%d,%d,%d",&a,&b,&c,&d); printf("a=%d,b=%d,c=%d,d=%d\n",a,b,c,d); if(a {t=a;a=b;b=t;} if(a {t=a;a=c;c=t;} if(a {t=a;a=d;d=t;} if(b {t=b;b=c;c=t;} if(b {t=b;b=d;d=t;} if(c {t=c;c=d;d=t;} printf("排序结果如下: \n"); printf("%d,%d,%d,%d\n",a,b,c,d); } 11、编写程序ifelsec11.c,按要求完成以下程序: 从键盘输入任一分数X(float型),并打印出相应的评定,最后按原文件名存盘。 评定规则如下: 100≥X≥80: 优良80>X≥60: 合格60>X≥0: 不合格其他: 分数不在0-100之间 #include voidmain() { floatx; printf("pleaseenterx: \n"); scanf("%f",&x); if(x<=100&&x>=80) printf("优良\n"); elseif(x<80&&x>=60) printf("及格\n"); elseif(x<60&&x>=0) printf("不合格\n"); else printf("分数不在0-100之间\n"); } 12、编写程序ifelsec12.c,按要求完成以下程序: 输入一个人的工资,计算这个人交纳所得税后的实际收入并输出。 (实际收入=工资-所得税) 计算所得税的方法如下: ⑴当工资<0时,不计算所得税,提示“输入错误”; ⑵当工资在0到1000元时之间(包含1000元),所得税为所有工资的5%; ⑶当工资在1000到2000元之间(包含2000元),所得税为所有工资的10%; ⑷当工资超过2000元,所得税为所有工资的15%。 #include voidmain() { floata,b; printf("请输入个人工资a"); scanf("%f",&a); if(a<0) printf("错误提示"); elseif(a>0&&a<=1000); {b=a*0.05; printf("个人交纳所得税%6.2f\n",b); } elseif(a>1000&&a<=2000) {b=a*0.1; printf("个人交纳所得税%6.2f\n",b); } else {b=a*0.15; printf("个人交纳所得税%6.2f\n",b); } } 13、编写程序ifelsec13.c,按以下要求完成程序: 求分段函数值并输出。 Y= -4X2+3 X>=100 -123 0 0 X=0 123 -100 9X3+7X-9 X<=-100 #include voidmain() {floatx,y; scanf("%f",&x); if(x>=100) y=3-4*x*x; elseif(x>0&&x<100) y=-123; elseif(x==0) y=0; elseif(x>-100&&x<0) y=123; else y=9*x*x*x+7*x-9; printf("%f\n",y); } 14.编写程序ifelsec14.c: 输入五个数(double型),从中取最大数及最小数; #include voidmain() {doublea,b,c,d,e,max,min; printf("请输入五个数a;b;c;d;e;"); scanf("%lf,%lf,%lf,%lf,%lf",&a,&b,&c,&d,&e); max=a; min=a; if(b>max) max=b; if(b min=b; if(c>max) max=c; if(c min=c; if(d>max) max=d; if(d min=d; if(e>max) max=e; if(e min=e; printf("max=%f\nmin=%f\n",max,min); } 15.编写程序ifelsec15.c: 输入一个字符(char型),要求测试是数字、空白还是其他字符(假设输入的字符只限于以上几种字符) 数字则输出: Itisadigit; 空白则输出: Itisawhite; 其他字符则输出: Itisachar; #include voidmain() { charx; printf("输入一个字符: "); scanf("%c",&x); if(x>'0'=&&x<='9') printf("Itisadigit\n"); elseif(x=='') printf("Itisawhite\n"); else printf("Itisachar\n"); } 16.编写程序ifelsec16.c: 输入一个不多于5位的正整数(int型),输出它是几位数; #include voidmain() {inta,b; printf("pleaseenter(0-9999): "); scanf("%d",&a); if(a>9999) b=5; elseif(a>999) b=4; elseif(a>99) b=3; elseif(a>9) b=2; else b=1; printf("%d是%d位数\n",b); } 17.编写程序ifelsec17.c: 从键盘输入个数(float型),判断以这三个数为边长的三角形是等边、等腰还是一般三角形,或者不能构成三角形,如能构成则计算出三角形的面积; #include #include voidmain() {floata,b,c,s,area; printf("pleaseentera,b,c: "); scanf("%f,%f,%f",&a,&b,&c); if(a+b>c&&b+c>a&&c+a>b) {if(a==b&&b==c) printf("三角形为等边三角形\n"); elseif(a==b||b==c||c==a) printf("三角形为等腰三角形\n"); else printf("三角形为一般三角形\n"); s=0.5*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("area=%6.2f\n",area); } else printf("三边不能成为一个三角形\n"); } 18.编写程序ifelsec18.c: 从键盘输入年份(int型)和月份(int型),计算该月有多少天;(用switch语句编程序)1,3,5,7,8,10,12月份: 31天;2月: 29天(闰年)或28天(非闰年);其他月份: 30天。 19.编写程序ifelsec19.c: (用switch语句编程序) 20.编写程序ifelsec20.c: 输入一个数,求它的绝对值。 #include voidmain() { floata,b; printf("请输入一个数: "); scanf("%f",&a); if(a<0) b=-a; else b=a; printf("%f的绝对值是: %f",a,b); } 提示: 1.输入函数scanf的使用; 2.编写程序ifelsec14.c,所以文件名应该是ifelsec14.c; 3.如果已完成对一个程序的操作,不再对它进行其他的处理,需要关闭工作区; 提示: 1.输入函数scanf的使用; 2.编写程序ifelsec1.c,所以文件名应该是ifelsec1.c; 3.如果已完成对一个程序的操作,不再对它进行其他的处理,需要关闭工作区; 4.可使用pow函数实现求x的n次方; 5.ifelsec9.c和ifelsec7.c建议使用多分支switch语句; 6.ifelsec10.c,先调整x和y,使x>=y;再调整x和z,使x>=z;至此,x为最大值。 最后再调整y和z,使y>=z。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 5678 选择 结构 程序 练习 参考答案