标题:关于switch的一个程序问题
只看楼主
三土。
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2012-7-21
结帖率:100%
已结贴  问题点数:20 回复次数:8 
关于switch的一个程序问题
#include<stdio.h>
#include<stdlib.h>
void main()
{
int a;
scanf("%d",&a);
if(a>100||a<0) {printf("成绩出错\n");exit(0);}
switch(a/10){
             case 10:
             case  9:printf("优秀\n");break;
             case  8:printf("良好\n");break;
             case  7:printf("中等\n");break;
             case  6:printf("及格\n");break;
             default:printf("不及格\n");
            }
}
为什么我运行后,每次一输入成绩,就跳出程序了啊?是不是我的代码有问题??  发现是编译器问题。尴尬尴尬。我用都是BCB。

[ 本帖最后由 三土。 于 2012-7-22 17:09 编辑 ]
搜索更多相关主题的帖子: default include 编译器 
2012-07-22 14:40
三土。
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2012-7-21
得分:0 
求帮忙啊
2012-07-22 14:53
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
得分:14 
这不是switch语句的问题,应该是if语句条件上的问题。

if(a<100||a>0)  应该改成if(a<100&&a>0).

Every thing is possible.
2012-07-22 14:58
三土。
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2012-7-21
得分:0 
回复 3楼 沉默的复仇者
对哦,我粗心了。
谢了
2012-07-22 15:01
三土。
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2012-7-21
得分:0 
回复 3楼 沉默的复仇者
不对。应该用||。
2012-07-22 15:03
三土。
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2012-7-21
得分:0 
回复 3楼 沉默的复仇者
是我编译器问题
2012-07-22 15:05
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
得分:0 
真的有问题?

Every thing is possible.
2012-07-23 08:38
三土。
Rank: 1
等 级:新手上路
帖 子:26
专家分:7
注 册:2012-7-21
得分:0 
回复 7楼 沉默的复仇者
代码没问题的,你那样写是语法错误的。我用的是BCB编译器,所以会自动弹出  加个  system("pause")就行了
2012-07-23 12:58
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
得分:0 
......

Every thing is possible.
2012-07-23 16:08



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




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

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