选择结构原码c语言

选择结构原码c语言

ID:39626164

大小:164.00 KB

页数:5页

时间:2019-07-07

选择结构原码c语言_第1页
选择结构原码c语言_第2页
选择结构原码c语言_第3页
选择结构原码c语言_第4页
选择结构原码c语言_第5页
资源描述:

《选择结构原码c语言》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1.调试程序实现:已知三个数a,b,c,找出最大值放于max中。【参考源程序】#include"stdio.h"main(){inta,b,c,Max;/*定义四个整型变量*/scanf(“a=%d,b=%d,c=%d”,&a,&b,c);if(a>=b)max=a;/*a>=b*/elsemax=b;/*amax)max=c;/*c是最大值*/printf("max=%d",max);}若输入下列数据,分析程序的执行顺序并写出运行结果(1)a=1,b=2,c=3(2)a=2,b=1,c=3

2、(3)a=3,b=2,c=1(4)a=3,b=1,c=2(5)a=3,b=3,c=2(6)a=2,b=1,c=22.调试程序实现:输入某学生的成绩,经处理后给出学生的等级,等级分类如下:90分以上(包括90):A80至90分(包括80):B70至80分(包括70):C60至70分(包括60):D60分以下:E方法一:用if嵌套【编程解析】由题意知如果某学生成绩在90分以上,等级为A;否则,如果成绩大于80分,等级为B;否则,如果成绩大于70分,等级为C;否则,如果成绩大于60分为D;否则,如果成绩小于60分,

3、等级为E;但当我们输入成绩时也可能输错,出现小于0或大于100,这时也要做处理,输出出错信息。因此,再用if嵌套前,应先判断输入的成绩是否在0~100之间。【参考源程序】#include"stdio.h"mian(){intscore;chargrade;printf("pleaseinputastudentscore:");scan("%f",&score);if(score>100

4、

5、score<0)printf("inputerror!");else{if(score1>=90)grade='A

6、';else{if(score>=80)grade='B';else{if(score>=70)grade='C';else{if(score>=60)grade='D';elsegrade='E';}}}printf("thestudentgrade:%c",grade);}}输入测试数据,调试程序。测试数据要覆盖所有路径,注意临界值,例如此题中得100分,60分,0分以及小于0和大于100的数据。方法二:用switch语句【编程解析】switch语句是用于处理多分支的语句。注意case后的表达式必须是

7、一个常量表达式,所以在用switch语句之前,必须把0~100之间的成绩分别转化成相关常量。所有A(除100以外),B,C,D类的成绩的共同特点是十位数相同,此外都是E类。则由此可得把score除十取整,化为相应的常数。【参考源程序】#include"stdio.h"main(){intg,s;charech;printf("Inputastudentgrade:");scanf("%d",&g);s=g/10;if(s<0

8、

9、s>10)printf("inputerror!");else{switc

10、h(s1){case10:case9:ch='A';break;case8:ch='B';break;case7:ch='C';break;case6:ch='D';default:ch='E';}printf("thestudentscort:%c",ch);}}输入测试数据,同方法一一样调试程序并写出结果。3.有一个函数,定义如下。用分支结构编写一程序,根据用户输入的自变量的值,计算函数值。【参考源程序】#include"stdio.h"voidmain(){flostx;pintf(“inputx:

11、”);scanf(“%f”,&x);if(x<0.0)printf(“y=0”);elseif(x>=0.0&&x<=50.0)printf(“y=%f”,x);elseprintf(“y=%f”,x*x);}4.编写一个程序,要求输入一个字符并判断它是字母字符、数字字符、还是其他字符。【编程解析】(1)程序的输入与输出:程序要求输入一个字符ch。程序要求输出字符的类型,即字母(alpha)、数字(numeric)或其他字符。(1)数据结构:charch(2)解决问题的关键算法:判断字符的类别

12、:若字符在’a’到’z’之间或者在’A’到’Z’之间,则字符为字母字符;若字符在'0'到'9'之间,则为数字字符;否则,为其他字符。【算法流程图】如图2-3所示。【参考源程序】#includemain(){charchr;printf("Enterancharacter:");scanf("%c",&ch);if(ch>='a'&&ch<='z'

13、

14、ch>='A'&&ch<='Z'

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。