C程序设计教程与实验 吉顺如主编 实验报告4参考答案_第1页
C程序设计教程与实验 吉顺如主编 实验报告4参考答案_第2页
C程序设计教程与实验 吉顺如主编 实验报告4参考答案_第3页
C程序设计教程与实验 吉顺如主编 实验报告4参考答案_第4页
C程序设计教程与实验 吉顺如主编 实验报告4参考答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验四选择结构程序设计(解答)1.改错题(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_1.c保存。该程序的运行结果:Enteracharacter:该程序的运行结果:Enteracharacter:gFGHmain(){charch,c1,c2;printf("Enteracharacter:");ch=getchar();if((ch>='a')||(ch<='z'))//if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch='A')//if(ch=='A')c1=ch+25;elseif(ch='Z')//elseif(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}改正后的程序:#include<stdio.h>main(){charch,c1,c2;printf("Enteracharacter:");ch=getchar();if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch=='A')c1=ch+25;elseif(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}(2)下列程序的功能为:输入3个整数后,输出其中最大值。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy4_2.c保存。该程序的运行结果:请输入3个整数:该程序的运行结果:请输入3个整数:5273个数中最大者为:7main(){inta,b,c,max;printf("请输入3个整数:\n");scanf("%d%d%d",&a,&b,&c);max=a;if(c>b){if(b>a)max=c;}/*c>b>a*/else/*b>c*/{if(c>a)max=b;}/*b>c>a*/printf("3个数中最大者为:%d\n",max);}改正后的程序:#include"stdio.h"main(){inta,b,c,max;printf("请输入3个整数:\n");scanf("%d%d%d",&a,&b,&c);max=a;if(c>b){if(c>a)max=c;}else{if(b>a)max=b;}printf("3个数中最大者为:%d\n",max);}(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。纠正程序中存在错误,以实现其功能。程序以文件名sy4_3.c保存。#include"stdio.h"main(){该程序的运行结果:inputthemonthnumber:该程序的运行结果:inputthemonthnumber:2Febprintf(“inputthemonthnumber:\n”);scanf(“%c”,&m);switch(m){case1:printf(“Jan”);case2:printf(“Feb”);case3:printf(“Mar”);case4:printf(“Apr”);}}改正后的程序:改法一#include"stdio.h"main(){charm;printf("inputthemonthnumber:\n");scanf("%d",&m);switch(m){case1:printf("Jan");break;case2:printf("Feb");break;case3:printf("Mar");break;case4:printf("Apr");}}改法二#include"stdio.h"main(){charm;printf("inputthemonthnumber:\n");scanf("%c",&m);switch(m){case‘1’:printf("Jan");break;case‘2’:printf("Feb");case‘3’:printf("Mar");breakcase‘4’}}2.程序填空(1)下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。若该字符是数字输出字符串"0-9"若该字符是大写字母输出字符串"A-Z"若该字符是小写字母输出字符串"a-z"若该字符是其他字符输出字符串"!,@,…"补充完善程序,以实现其功能。程序以文件名sy4_4.c保存。#include<stdio.h>该程序的运行结果:d该程序的运行结果:da-z{charc;scanf(___"%c",&c_________);if('0'<=c&&c<='9')_____printf("0-9\n");______elseif(___c>='A'&&c<='Z'______)printf("A-Z\n");____elseif_______('a'<=c&&c<='z')printf("a-z\n");____else__________________printf("!,@,…\n");}该程序的运行结果:Pleaseinputaexpression:2*62*6=12(2)下列程序的功能为:实现加、减、乘、除四则运算。补充完善程序,以实现其功能。程序以文件名sy4_5.c该程序的运行结果:Pleaseinputaexpression:2*62*6=12#include<stdio.h>main(){inta,b,d; charch; printf("Pleaseinputaexpression:"); scanf("%d%c%d",&a,&ch,&b); switch(ch) { case'+':d=a+b; printf("%d+%d=%d\n",a,b,d); break;case'-':d=a-b; printf("%d-%d=%d\n",a,b,d); break;case'*':d=a*b; printf("%d*%d=%d\n",a,b,d); break;case'/': if(b==0) printf("Divisoriszero\n"); else printf("%d/%d=%f\n",a,b,(float)a/b);/*强制类型转换*/ break;default: printf("InputOperatorerror!\n"); }}(3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy4_6.c保存。#include"stdio.h"main()该程序的运行结果:请主持人输入时尚手机的实际价格该程序的运行结果:请主持人输入时尚手机的实际价格1500请观众猜时尚手机的价格1450低了printf("请主持人输入时尚手机的实际价格\n");scanf("%f",&b);printf("\n\n请观众猜时尚手机的价格\n");scanf("%f",&a);if(a<b)printf("低了\n");if(a==b)printf("猜对了!\n");if(a>b)printf("高了\n");}3.编程题(1)从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值。程序以文件名sy4_7.c保存。参考源程序#include<stdio.h>main(){intsum=0,a,b,c,max,min;longji=0;floatave;printf("输入三个整数:(a=?b=?c=?)\n");scanf("a=%db=%dc=%d",&a,&b,&c);sum=a+b+c;ave=sum/3.0;ji=a*b*c;max=((a>b?a:b)>c)?(a>b?a:b):c;min=a;if(b<min)min=b;if(c<min) min=c;printf("a+b+c=%da*b*c=%ldave=%.2f",sum,ji,ave);printf("\nmax=%dmin=%d\n",max,min);}(2)有一分段函数如下,要求用scanf函数输入x的值,求y值并在屏幕上输出。程序以文件名sy4_8.c保存。0x<5y=x-15≤x<156x2-1x≥15参考源程序#include<stdio.h>voidmain(){floatx,y;scanf("%f",&x);if(x<5)y=0;elseif(x<15)y=x-1; elsey=6*x*x-1;printf("x=%f,y=%f\n",x,y);}(3)从键盘输入一个数字0~6,输出相应星期几的英文单词,其中数字0对应Sunday,数字1~6对应Monday~Saturday,如果输入的不是0~6的数字,则显示错误信息。程序以文件名sy4_9.c保存。参考源程序#include<stdio.h>main(){intm;printf("请输入数字(0-6):");scanf("%d",&m);switch(m){case0:printf("Sunday");break;case1:p

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论