注册 登录
编程论坛 C语言论坛

少了满分一百分的情况,如何在外层用一个if else嵌套语句完善这题

王派小哥 发布于 2021-05-08 15:51, 1967 次点击

百分制成绩转换为五级制
#include<stdio.h>
int main( )
{
    int score;
    printf("请输入一个百分制成绩:\n");
    scanf("%d",&score);
    switch(score/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;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:printf("成绩等级为E。\n");
        default:printf("成绩输入错误!\n");
    }
}
8 回复
#2
mindfulness2021-05-08 15:57
可尝试case0 加条件分支,

程序代码:

case 0:{ if(score==100)
            printf("成绩等级为A。\n");
        else
            printf("成绩等级为E。\n");
        }break;
#3
王派小哥2021-05-08 16:07
回复 2楼 mindfulness
好的,谢谢,我试一试
#4
夏天q2021-05-08 16:22
可以这样做
程序代码:
#include<stdio.h>
int main() {
    int score;
    printf("请输入一个百分制成绩:\n");
    scanf("%d", &score);
    if(score == 100)
        printf("成绩满分!\n");
    else {
        switch(score/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;
            case 5:
            case 4:
            case 3:
            case 2:
            case 1:
            case 0:
                printf("成绩等级为E。\n");
                break;   //这个地方需要加一个break;
            default:
                printf("成绩输入错误!\n");
        }
    }
}
#5
王派小哥2021-05-08 17:51
回复 4楼 夏天q
蟹蟹谢谢!打出来了可以编译运行

[此贴子已经被作者于2021-5-8 17:52编辑过]

#6
王派小哥2021-05-08 17:51
回复 2楼 mindfulness
这个我试了好像不行
#7
mindfulness2021-05-09 05:07
回复 6楼 王派小哥
我只是说case上的if条件嵌套例子。
话说你的这个问题加个case 10 不香吗?
程序代码:
#include<stdio.h>
int main( )
{
    int score;
    printf("请输入一个百分制成绩:\n");
    scanf("%d",&score);
    printf("scoreore=%d\n",score);
    switch(score/10)
    {
        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;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:printf("成绩等级为E。\n");break;
        default:printf("成绩输入错误!\n");
    }
    return 0;
}
#8
王派小哥2021-05-09 22:04
回复 7楼 mindfulness
加了一个case 10的话有个缺点,100~109都是等级A了
#9
初始化2021-05-10 02:41
我也才开始学习,菜鸟一枚,多多指教
程序代码:
#include<stdio.h>
int main( )
{
    int score;
    printf("请输入一个百分制成绩:\n");
    scanf("%d",&score);
    printf("scoreore=%d\n",score);
    if(score<=100&&score>=0){
    switch(score/10)
    {
        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;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:printf("成绩等级为E。\n");break;
        //default:printf("成绩输入错误!\n");
    }
    }
    else{
    printf("成绩输入错误!\n");
    }
    return 0;
}


[此贴子已经被作者于2021-5-10 02:44编辑过]

1