4.3从if-else到开关语句——错误实例分析(28分)

4.3从if-else到开关语句——错误实例分析(28分)多分支选择控制与开关语句If语句主要实现单分支选择控制结构而if-else主要用于实现双分支选择控制结构而else-if级联形式用于实现多分支选择控制结构下面看一个实例,将百分之成绩转化为五分制成绩转换公式是这样的,首先画出它的程序流程图第一步就是输入百分制的成绩score然后根据score的取值范围来确定它的五分制成绩是...
摘要由CSDN通过智能技术生成

4.3从if-else到开关语句——错误实例分析(28分)

多分支选择控制与开关语句
在这里插入图片描述
If语句主要实现单分支选择控制结构
而if-else主要用于实现双分支选择控制结构
而else-if级联形式用于实现多分支选择控制结构
在这里插入图片描述下面看一个实例,将百分之成绩转化为五分制成绩
转换公式是这样的,首先画出它的程序流程图
第一步就是输入百分制的成绩score
然后根据score的取值范围来确定它的五分制成绩是什么?
如果score是在大于等于90小于等于100之间的话;
那么就让gread这个五分制的成绩为A;
否则的话要判断sore是否在80和90之间;
如果是的话,那么就让股份制的成绩为B;
在这里插入图片描述在否则的话还要判断score是否大于等于70小于80.
如果是的话,就让五分制为C;
如果成绩不在0到100之间的话,我们就认为,用户输入错误,所以要输出一个错误提示信息。
否则的话,就输出前面的5分制成绩,然后成绩结束。那么在这个程序当中,为什么要增加这样的一个判断呢?why?为什么嘛要判断用户输入的数据是大于零小于100的。因为一个百分制的成绩,如果小于零或者大于100;那么我们就认为用户输入的百分制成绩输入错误了,通过在程序当中,增加对用户输入的错误数据的处理,使得成绩对用户输入的错误数据,具有容错能力。像这样的程序,我们就认为,具有一定的健壮性,因此在程序中,对用户的输入进行合法性检验,增加这样的一个处理步骤,对于提高程序的健壮性是非常重要的。
在这里插入图片描述下面这样的一个流程图呢,如何用C语言程序来实现。
通过分析这个流程图我们发现,前面的五个分支结构,都是单分支的选择结构,只有最后一个是双分支选择控制结构。
单分支选择控制结构我们用if语句来实现,而双分支选择结构我们用if-else来实现。在实现这个程序的时候,首先要定义两个变量,一个进入百分制成绩的整型变量score ;
int score
另外一个是记录五分制成绩的字符型变量grade
然后向屏幕输出一个提示信息,提示用户输入百分制成绩score
printf(“Please input socre;”)
接下来用scanf函数调用语句,接收用户从键盘输入的百分制成绩score的值。
scanf("%d,&score");
在这里插入图片描述在接下来,判断score是否在90到100之间,如果是的话,那么就让gread这个字符型变量的值为A
if(score>= 90 && score <=100)
grade =‘A’;在这里插入图片描述接下来,还要判断score,是否在80和90之间,如果是的话,就让gread为B,在否则的话,判断score是否是70到80之间,如果是的话,就让gread为C;
在这里插入图片描述最后这个是一个双分支选择结构,用if-else来实现;
当score的值<0,或者score>100的时候,输出input error这样的错误提示信息,否则的话,就输出前面计算出来的
grade,这个字符型变量的值。也就是五分制成绩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值