鱼C论坛

 找回密码
 立即注册
查看: 885|回复: 2

[已解决]switch语句

[复制链接]
发表于 2020-3-8 23:22:35 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <stdio.h>

int main()
{
        int i;

        printf("请输入成绩:");
        scanf("%d", &i);

        switch (i)
        {
                case i >= 90: printf("A\n"); break;
                case i >= 80 && i < 90: printf("B\n"); break;
                case i >= 70 && i < 80: printf("C\n"); break;
                case i >= 60 && i < 70: printf("D\n"); break;
                case i < 60: printf("E\n"); break;
                default: printf("请输入合法的数字!\n"); break;
        }

        return 0;
}

这个怎么改?谢谢
最佳答案
2020-3-8 23:54:44
case 后面要跟常量。你这中条件判断就不要用switch了。
#include <stdio.h>

int main()
{
        int i;

        printf("请输入成绩:");
        scanf("%d", &i);
       
        if (i >= 90) printf("A\n"); 
        else if (i >= 80) printf("B\n"); 
        else if (i >= 70) printf("C\n"); 
        else if (i >= 60) printf("D\n");
        else if (i < 60) printf("E\n"); 
        else printf("请输入合法的数字!\n");
        }

       return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-8 23:54:44 | 显示全部楼层    本楼为最佳答案   
case 后面要跟常量。你这中条件判断就不要用switch了。
#include <stdio.h>

int main()
{
        int i;

        printf("请输入成绩:");
        scanf("%d", &i);
       
        if (i >= 90) printf("A\n"); 
        else if (i >= 80) printf("B\n"); 
        else if (i >= 70) printf("C\n"); 
        else if (i >= 60) printf("D\n");
        else if (i < 60) printf("E\n"); 
        else printf("请输入合法的数字!\n");
        }

       return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-9 00:32:34 | 显示全部楼层
#include <stdio.h>

int main(void)
{
        int n                                                            ;
        printf("\t请输入成绩:")                                         ;
        scanf ("%d" , & n)                                               ;
        switch(n / 10) {
                case 10:
                        switch(n % 10) {
                                case  0:
                                        printf("\tA\n")                   ;
                                        break                            ;
                                default:
                                        printf("\t请输入合法的数字!\n") ;
                        }
                        break                                            ;
                case  9:
                        printf("\tA\n")                                  ;
                        break                                            ;
                case  8:
                        printf("\tB\n")                                  ;
                        break                                            ;
                case  7:
                        printf("\tC\n")                                  ;
                        break                                            ;
                case  6:
                        printf("\tD\n")                                  ;
                        break                                            ;
                case  5:
                case  4:
                case  3:
                case  2:
                case  1:
                case  0:
                        printf("\tE\n")                                  ;
                        break                                            ;
                default:
                        printf("\t请输入合法的数字!\n")                 ;
        }
        return 0                                                         ;
}

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
人造人 + 5 + 5 + 3 无条件支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-15 20:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表