
void main()
{
int i
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.
希望能帮到你。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)