实验三 选择结构程序设计(解答).doc_第1页
实验三 选择结构程序设计(解答).doc_第2页
实验三 选择结构程序设计(解答).doc_第3页
实验三 选择结构程序设计(解答).doc_第4页
实验三 选择结构程序设计(解答).doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

实验三 选择结构程序设计(解答)1改错题(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy3_1.c存盘。#include main() char ch,c1,c2; printf(Enter a character:); ch=getchar();if(ch=a)|(ch=a)&(ch=z) ch-=32; c1=ch-1; c2=ch+1;if(ch=A) / if(ch=A)c1=ch+25;else if(ch=Z) / else if(ch=Z) c2=ch-25; putchar(c1); putchar(ch); putchar(c2); putchar(n);改正后的程序:#include main() char ch,c1,c2; printf(Enter a character:); ch=getchar(); if(ch=a)&(chb) if (ba) max=c; /* cba */else /* bc */if (ca) max=b; /* bca */printf(个数中最大者为:%dn,max);改正后的程序:(方法1)#include stdio.hmain()int a,b,c,max;printf (请输入3个整数:n);scanf (%d%d%d,&a,&b,&c);max=a;if (cb) if (ca) max=c; else if (ba) max=b; printf(3个数中最大者为:%dn,max);改正后的程序:(方法2)#include stdio.hmain()int a,b,c,max;printf (请输入3个整数:n);scanf (%d%d%d,&a,&b,&c);max=a;if (bc) if (ba) max=b; else if (ca) max=c; printf(3个数中最大者为:%dn,max);(3)下列程序的功能为:输入1-4月份号,输出该月份对应的英语表示法。例如,输入“3”,则输出“Mar”。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy3_3.c存盘。#include stdio.hmain() char m; printf(“input the month number:n”); scanf (“%c”,&m); switch (m) case 1:printf (“Jan”); case 2:printf (“Feb”); case 3:printf (“Mar”); case 4:printf (“Apr”); 改正后的程序:改法一#include stdio.hmain() char m; printf(input the month number:n); scanf (%d,&m); switch (m) case 1:printf (Jan);break; case 2:printf (Feb);break; case 3:printf (Mar);break; case 4:printf (Apr); 改法二#include stdio.hmain() char m; printf(input the month number:n); scanf (%c,&m); switch (m) case 1:printf (Jan);break; case 2:printf (Feb);break; case 3:printf (Mar);break; case 4:printf (Apr); 2程序填空(1) 下列程序的功能为:判断从键盘上输入的一个字符,并按下列要求输出。若该字符是数字 输出字符串0-9若该字符是大写字母 输出字符串A-Z若该字符是小写字母 输出字符串a-z若该字符是其他字符 输出字符串!,请填写适当的符号或语句,使程序实现其功能,程序以文件名sy3_4.c存盘。 #include main() char c; scanf(_); if(c=0 &c=a&c=z) printf(a-zn); _ printf(!,n);填空后的程序:#include main() char c; scanf(%c, &c); if(c=0 & c=A & c =a & c=z) printf(a-zn); else printf(!,n);(2)下列程序的功能为:实现加、减、乘、除四则运算。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy3_5.c存盘。#include main() int a,b,d; char ch; printf(Please input a expression:); scanf(%d%c%d, &a,&ch,&b ); switch(ch) case +:d=a+b; printf(%d+%d=%dn,a,b,d); break; case -:d=a-b; printf(%d-%d=%dn,a,b,d); break; case *:d=a*b; printf(%d*%d=%dn,a,b,d); break; case /: if( b=0 ) printf(Divisor is zeron); else printf(%d/%d=%fn,a,b,( float )a/b); /*强制类型转换*/ break; default: printf(Input Operator error!n); (3)下列程序的功能为:猜价格,用户输入自己估计的价格,程序判断其正确性。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy3_6.c存盘。#include stdio.hmain()float a,b; printf(请主持人输入时尚手机的实际价格n); scanf(%f,&b); printf(nn请观众猜时尚手机的价格n); scanf(%f,&a); if( ab ) printf(高了n);3编程题(1)编写一个程序实现如下功能:从键盘输入三个整数,输出这三个整数的和、平均值(保留2位小数)、积、最小值以及最大值(程序以文件名sy3_7.c存盘)。参考源程序#include main() int sum=0, a, b, c, max, min;long ji=0; float ave; printf(输入三个整数:(a=? b=? c=?)n); scanf(a=%d b=%d c=%d, &a, &b, &c); sum=a+b+c; ave=sum/3.0; ji=a*b*c; max=(ab?a:b)c)?(ab?a:b):c; min=a; if (bmin) min=b;if(cmin)min=c;printf(a+b+c=%d a*b*c=%ld ave=%.2f, sum,ji, ave); printf(nmax=%d min=%dn, max, min);(2)编写一个程序实现如下功能:输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变(程序以文件名sy3_8.c存盘)。参考源程序#include main() char ch; printf(输入一个字符:); ch=getchar(); if(ch=A & ch=a & ch=z) ch-=32; printf(输出结果:); putchar(ch); printf(n);(3)编写一个程序实现如下功能:输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一(程序以文件名sy3_9.c存盘):能同时被3,5,7整除;能被其中两数(要指出哪两个)整除;能被其中一个数(要指出哪一个)整除;不能被3,5,7任一个整除。参考源程序一#include main() int x;printf(输入一个整数:);scanf(%d,&x);if(x%3=0) & (x%5=0) & (x%7=0) printf(%d can be divided by 3,5,7n,x);else if (x%3=0) & (x%5=0) printf(%d can be divided by 3,5n,x);else if (x%3=0) & (x%7=0) printf(%d can be divided by 3,7n,x);else if (x%5=0) & (x%7=0) printf(%d can be divided by 5,7n,x);else if (x%3=0) printf(%d can be divided by 3n,x);else if (x%5=0) printf(%d can be divided by 5n,x);else if (x%7=0) printf(%d can be divided by 7n,x);else printf(%d cannot be divided by 3,5,7n,x);参考源程序二#include main() int num,m=0,three=1,five=2,seven=4; printf(输入一个整数:); scanf(%d,&num); if(num%3=0) m+=three; if(num%5=0) m+=five; if(num%7=0) m+=seven;switch(m)case 7: printf(%d can be divided by 3,5,7n,num); break; case 6: printf(%d can be divided by 5,7n,num); break; case 5: printf(%d can be divided by 3,7n,num); break; case 3: printf(%d can be divided by 3,5n,num)

温馨提示

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

评论

0/150

提交评论