为了账号安全,请及时绑定邮箱和手机立即绑定

switch中用IF为啥不能实现?

请问那里错了哭,自己写的,试验了很多遍还是一直是等级C;但把那条等级为C的语句删除了才能得到B,那位知道指导指导,谢谢

#include

int main()

{ int a,score=87;

if(90<score<=100) {a=10;}

if(80<score<=90)  {a=9;}

if(60<=score<=80) {a=8;}

if(score<60)      {a=7;}

switch(a)

{ case 10:printf("等级为A\n");break;

case 9:printf("等级为B\n");break;

case 8:printf("等级为C\n");break;

case 7:printf("等级为D\n");break;}

}

正在回答

5 回答

这个我搞错了
你都if规则有问题

#include"stdio.h"
int main()
{ 
int a,score=87;
if(90<score&&score<=100) {a=10;}
if(80<score&&score<=90)  {a=9;}
if(60<=score&&score<=80) {a=8;}
if(score<60)      {a=7;}
switch(a)
{ 
case 10:printf("等级为A\n");break;
case 9:printf("等级为B\n");break; 
case 8:printf("等级为C\n");break;
case 7:printf("等级为D\n");break;}
return 0;
}

规则变成这样的试一下if(80<score&&score<=90)  {a=9;}。。

1 回复 有任何疑惑可以回复我~
#1

有思需多行 提问者

谢谢,是,书写规则错了,尴尬
2017-12-24 回复 有任何疑惑可以回复我~

看到你这个思路我明白了,score/10就是代替了你的 if 那一整段

0 回复 有任何疑惑可以回复我~
#include"stdio.h"
int main()
{ 
int a,score=87;
if(90<score<=100) {a=10;}
if(80<score<=90)  {a=9;}
if(60<=score<=80) {a=8;}
if(score<60)      {a=7;}
switch(a+1)
{ 
case 10:printf("等级为A\n");break;
case 9:printf("等级为B\n");break; 
case 8:printf("等级为C\n");break;
case 7:printf("等级为D\n");break;}
return 0;
}

1 回复 有任何疑惑可以回复我~
#1

悼慈

这个回答无视。。。
2017-12-24 回复 有任何疑惑可以回复我~
#2

慕姐3493210

为什么switch中a+1啊
2018-03-30 回复 有任何疑惑可以回复我~

同问。。+1

1 回复 有任何疑惑可以回复我~

#include <stdio.h>
int main()
{
    int score = 87; //考试分数为87分
    score/=10;
    switch(score)
    {
        /*想想以下代码为什么用这种方式;
          这种方式的好处?*/
        case 10:
            printf("等级A");
            break;
        case 9:
            printf("等级A");
            break;
        case 8:
            printf("等级B");
            break;                //这里是不是缺点什么?           
        case 7:
            printf("等级C");
            break;   
        case 6:
            printf("等级C");
            break;                //这里是不是缺点什么? 
        default:
            printf("等级D");
            break;   
    }
    return 0;
}

1 回复 有任何疑惑可以回复我~
#1

有思需多行 提问者

这种方法我理解了,谢谢,我现在想问的是为什么用IF不对
2017-12-22 回复 有任何疑惑可以回复我~
#2

悼慈 回复 有思需多行 提问者

不知道能不能给你满意度回答。。。 if(80<score&&score<=90) {a=9;}你都if函数代码不对。
2017-12-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926258    人
  • 解答问题       20798    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

switch中用IF为啥不能实现?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信