标题:编程实现成绩转换:要求输入100分以上时,输出“输入错误”,我不知道该怎么 ...
只看楼主
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
结帖率:78.57%
已结贴  问题点数:10 回复次数:13 
编程实现成绩转换:要求输入100分以上时,输出“输入错误”,我不知道该怎么编,这是我写的程序,应该如何改?
#include<stdio.h>
void main()
{
    int score,grade;
    printf("please input a score:");
    scanf("%d",&score);
    grade=score/10;
    switch(grade)
    {
    case 10:printf("优秀\n");break;
    case 9:printf("优秀\n");break;
    case 8:printf("良好\n");break;
    case 7:printf("中\n");break;
    case 6:printf("及格\n");break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case 0:printf("不及格\n");break;
    default:printf("输入错误\n");break;
    }
}
搜索更多相关主题的帖子: default 编程 100分 please 
2012-09-30 21:18
nba88lin
Rank: 1
等 级:新手上路
帖 子:3
专家分:4
注 册:2012-9-30
得分:0 
加入一句判断,
if(score>100)
printf("输入错误");
else
{
    grade=score/10;
    switch(grade)
    {
    case 10:printf("优秀\n");break;
    case 9:printf("优秀\n");break;
    case 8:printf("良好\n");break;
    case 7:printf("中\n");break;
    case 6:printf("及格\n");break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case 0:printf("不及格\n");break;
    default:printf("输入错误\n");break;
    }

}

2012-09-30 21:34
xiaoseqingch
Rank: 2
等 级:论坛游民
帖 子:36
专家分:42
注 册:2010-6-19
得分:0 
#include<stdio.h>
void main()
{
    int score,grade;
    printf("please input a score:");
    scanf("%d",&score);
    if(score>100)
{
    printf("输入错误");
}
    grade=score/10;
    switch(grade)
    {
    case 10:printf("优秀\n");break;
    case 9:printf("优秀\n");break;
    case 8:printf("良好\n");break;
    case 7:printf("中\n");break;
    case 6:printf("及格\n");break;
    case 5:
    case 4:
    case 3:
    case 2:
    case 1:
    case 0:printf("不及格\n");break;
    default:printf("输入错误\n");break;
    }
}
2012-09-30 21:35
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
得分:0 
用switch语句可以实现吗
2012-09-30 21:42
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
得分:0 
回复 2楼 nba88lin
输入100,得不到优秀
2012-09-30 21:45
Bravado
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2012-10-1
得分:5 
#include<stdio.h>
void main()
{
    int score,grade;
    printf("please input a score:");
    scanf("%d",&score);
    if(score>100 || score<0)
        printf("输入错误\n");
    else
    {
        grade=score/10;
        switch(grade)
        {
        case 10:printf("优秀\n");break;
        case 9:printf("优秀\n");break;
        case 8:printf("良好\n");break;
        case 7:printf("中等\n");break;
        case 6:printf("及格\n");break;
        case 5:
        case 4:
        case 3:
        case 2:
        case 1:
        case 0:printf("不及格\n");break;
   
        }
    }
}

不积跬步,何以至千里。
2012-10-01 04:48
Eumenides_me
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:63
专家分:151
注 册:2012-9-26
得分:0 
单纯用switch无法实现,当score>=100的时候,grade都等于10,必须加一个判断语句判断分数是等于100,还是大于100,这个判断语句可以放在switch前面,也可以放在case10里面。
2012-10-01 08:06
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
得分:0 
回复 6楼 Bravado
程序正确,可以得到正确结果
2012-10-01 08:59
qishi123
Rank: 1
等 级:新手上路
帖 子:78
专家分:9
注 册:2012-9-5
得分:0 
回复 7楼 Eumenides_me
不能放在case语句里吧,如果放在里面的话,会得到两个“输入错误”。
2012-10-01 09:01
w995612220
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:139
专家分:313
注 册:2012-6-20
得分:0 
程序没有问题。
2012-10-01 09:16



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-382388-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.147884 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved