文章

8

粉丝

136

获赞

2

访问

47.8k

头像
这个c语言程序到底哪里有问题
我要提问
发布于2022年10月26日 22:43
阅读数 3.8k

输入以下程序,想把百分制成绩转化为字母表达,为什么结果出不来,请问是哪里出错了呢?

#include<stdio.h>
int main()
{
    float x,y,scores;
    scanf("%f",&x);
    switch((int)(y / 10))
    {
        case '9':scores='A';break;
        case '8':scores='B';break;
        case '7':scores='C';break;
        case '6':scores='D';break;
        case '5':
        case '4':
        case '3':
        case '2':
        case '1':
        case '0':scores='E';
    }
    printf("%c",scores);...

登录查看完整内容


登录后发布评论

2 条评论
快乐小土狗
2022年11月4日 11:53

有几个地方有问题

1、scores应该用char类型定义

2、switch里面的y/10应改为x/10,y没有用到

3、case对应的值应该是int类型,不是char类型的字符

修改之后的程序如下

#include<stdio.h>
int main()
{
    float x,y;
    char scores;
    scanf("%f",&x);
    switch((int)(x / 10))
    {
        case 9:scores='A';break;
        case 8:scores='B';break;
        case 7:scores='C';break;
        case 6:scores='D';break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:scores='E';
    }
    printf("%c",scores);
    return 0;

}

 

赞(1)

追光 : 回复 快乐小土狗: 明白了,太感谢了!

2022年11月4日 17:32