使用switch…case开关语句实现分数的等级制到百分制的转换

使用switch…case开关语句实现分数的等级制到百分制的转换,第1张

#include<stdio.h>

void main()

{

int i

printf("请输入学生成绩:")

scanf("%d",&i)

if(i>100||i<0)

{

printf("您输入的成绩不对!\n")

}

else

{

switch(i/10)

{

case 10: printf("您输入的学生成绩等级为优。\n")break

case 9: printf("您输入的学生成绩等级为优。\n")break

case 8: printf("您输入的学生成绩等级为良。\n")break

case 7: printf("您输入的学生成绩等级为中。\n")break

case 6: printf("您输入的学生成绩等级为差。\n")break

case 5:

case 4:

case 3:

case 2:

case 1:

case 0: printf("您输入的学成成绩等级为不及格。\n")break

default: printf("您输入的成绩不对!\n")break

}

}

}

应该符合你的要求吧~!呵呵~!

以test表中数据为例:

其中90分及以上为优秀,70分-89分为良好,60-69分为及格,60分以下为不及格,可用如下语句给出等级制成绩:

select name,

       score,

       case

         when score >= 90 then

          '优秀'

         when score between 70 and 89 then

          '良好'

         when score between 60 and 69 then

          '及格'

         when score < 60 then

          '不及格'

       end 等级

  from test

查询结果:

按照你到思路,你的shell程序主要有两个错误:

1,变量ft赋值错误;按照你的写法,ft的结果是:file /etc,因为等式右边加的是单引号,是字符串原样赋值,而并没有取到file这个命令到结果,正确写法是:ft=$(file "$NAME")

2,第二个问题是格式问题,小问题。case语句中的备选项,如“$NAME:directory”,冒号后要加一个空格,因为file /etc这条命令的结果是/etc: directory,注意冒号后面是有一个空格的,所以case语句中到备选项格式要与之匹配。

由于你写的程序有这两个错误,解释执行时,会转到case语句中到最后一项输出,即输出:/etc is Other file type

我所说到已经经过本人亲自测试,所用系统为Fedora 12.

希望能帮到你。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9002856.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存