判断成绩等级

题目要求:

给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。

90分以上为A,

81~89分为B,

70~ 79分为C,

60~69分为D,

60分以下为E。

C语言代码:

#include <stdio.h>
int main()
{
printf("输入成绩(0-100)");
int grade;
scanf("%d", &grade);
grade /=10;
switch ( grade ) {
case 10:
case 9:
printf("A\n");
break;
case 8:
printf("B\n");
break;
case 7:
printf("C\n");
break;
case 6:
printf("D\n");
break;
default:
printf("E\n");
break;
}
return 0;
}

python代码:

grade = eval(input("请输入成绩:"))
if 90 <= grade < 100:
    print("A")
elif 80 <= grade < 90:
    print("B")
elif 70 <= grade < 80:
    print("C")
elif 60 <= grade < 70:
    print("D")
elif 0 <= grade < 60:
    print("E")

知识点备注:

python语言中可以进行链式比较。

例如

x = 9
if 8 < x < 10:
    print("这个判断是正确的")
else:
    print("这个判断是错误的")

我们运行会发现输出为

这个判断是正确的

我们改变判断顺序

​
x = 9
if 10 < x < 8:
    print("这个判断是正确的")
else:
    print("这个判断是错误的")

​

输出也是

这个判断是正确的

而对于c语言来说

#include <stdio.h>
int main()
{
    int x=9;
    if (8<x<10){
        printf("这个判断是正确的");
    }else{
        printf("这个判断是错误的");
    }
    return 0;
}

会输出

这个判断是正确的

然而当我们改变判断顺序

#include <stdio.h>
int main()
{
    int x=9;
    if (10>x>8){
        printf("这个判断是正确的");
    }else{
        printf("这个判断是错误的");
    }
    return 0;
}

则会输出

这个判断是错误的

这是因为在c语言内是无法进行链式比较的

相对于第一种判断,其实c语言先判断8<x,满足条件为真,结果为1,在判断1<10,为真则进入语句输出“这个判断是正确的”。同理,对于第二种判断,先判断10<x,为真结果为1,在判断1<8,为假,进入else语句输出“这个判断是错误的”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值