注册 登录
编程论坛 C++教室

关于switch的使用

a99875984 发布于 2012-09-08 16:26, 341 次点击
将百分制成绩转换成五级制成绩。(分别用if、嵌套、switch完成)
请问,这个问题解决的时候如何用case使分数在一个分数段啊?
5 回复
#2
pangding2012-09-08 22:55
如果分数是按整十整十分段的话,可以
程序代码:
switch(score/10) {
    case 10: /* 100分 */ break;
    case 9:
    case 8: /* 80-90分 */ break;
    case 7:
    case 6: /* 60-70分 */ break;
    default: /* 60分以下 */ break;
}

#3
dz7899892012-09-09 09:28
注意cin语句接收  取值范围 小数点保留
#4
zhuanjia02012-09-09 14:32
可以除以10,看代码
float score;
int temp;
cin>>score;
temp = (int)score/10;
switch (temp)
{
    case 6: ....;break;
    case 7: ....;break;
    case 8: ....;break;
    ...
}
#5
a998759842012-09-09 18:21
谢谢各位了哈
#6
Ziverson2012-09-09 22:39
//将学生的成绩输入后,程序给出等级,80~100为A,60~80为B,60以下输出“sorry ,you are not passed”,100分输出“perfect”//
#include <stdio.h>
int main()
{
    int i,n;
    printf("请键入学生成绩\n");
    scanf("%d",&i);
    n=i/10;
    n>0;
    switch(int(n))
    {
    case 10:
        printf("pefect\n");
        break;
    case 8:
    case 9:
        printf("A\n");
        break;
    case 7:
    case 6:
        printf("B\n");
        break;
    }
        if(n>10)
            printf("error in input data,please cheak\n");
        else if(n<6)
            printf("you are not passed\n");
        return 0;
}
1