以下程序为什么不能实现 if 。。。。。else 。。。判断

[复制链接]
查看11 | 回复2 | 2011-2-21 22:46:05 | 显示全部楼层 |阅读模式
程序如下,
#include
main()
{
int x,y;
printf("please input x:\n");
scanf("%d",&x);
if(x100)
printf("you are wrong!\n");
else
{switch(y=x/10)
{
case 10:
case 9:printf("A\n");
break;
case 8:printf("B\n");
break;
case 7:printf("C\n");
break;
case 6:printf("D\n");
break;
default:printf("E\n");
}
}
}
当我输入0到100内的值的时候都准确得到答案,但是为什么我输入负数和大于一百的数的时候还是得到的“E”呢,这是为什么啊,按判断语句来说这个程序应该是先进行了数范围的判断后才进行switch判断的啊,这是为什么不能实现啊,求高手指教。谢谢!

回复

使用道具 举报

千问 | 2011-2-21 22:46:05 | 显示全部楼层
是你的第一个条件逻辑错误if(x100)x既小于0又大于100,这样的数存在么?应该是 if(x100) 才对啊
回复

使用道具 举报

千问 | 2011-2-21 22:46:05 | 显示全部楼层
print 之后是不是要结束程序啊?其实我不会写c的。。你要是愿意看pascal的代码我可以给你写
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行