A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

如图:    
         我刚刚学c语言,在写一个习题:提醒用户输入一个0-100的分数 score ,然后输出成绩等级
     我写的没错,但是我想到假如用户输入的不是0-100的数,而是小数,或者负数,或者更大的整数,虽然我定义了int类型,编译器会自动强制转换类型,  
     但是我想用一些条件来限制输入的是0-100的整数,怎么解决啊    求大神说明一下。用c语言哦
   

本帖被以下淘专辑推荐:

33 个回复

正序浏览
定义一个变量n,int  n;在使用一个while语句,while (n<0 || n>100){printf (请输入0~100的整数:\n);scan( "%d",&n);}就可以了
回复 使用道具 举报
scanf 后接if 加goto
回复 使用道具 举报
加IF语句判断,如果不是,就返回输入SCANF
回复 使用道具 举报
fixer 中级黑马 2015-5-24 00:14:08
30#
楼主,加个判断语句就可以了,你的技术分怎么搞到的?嘿嘿
回复 使用道具 举报
过来 学习下经验
回复 使用道具 举报
菜鸟路过...
回复 使用道具 举报
分数也可以是小数啊,59.5的成绩没及格的大有人在,在定义成绩变量的时候直接就用float,不要用int,得贴合实际啊.
回复 使用道具 举报
用if条件语句判断输入值的合法性,输入的值小于0或者大于100都是不合法的数值,如果输入非法数值,提示用户:你输入的值是非法的!然后写上return 0;执行结束程序,后面的代码将不会被执行。
回复 使用道具 举报
用a!=(int)a判断,这个好像是个好办法。
回复 使用道具 举报
学习一下
回复 使用道具 举报
老板,给点分吧,
回复 使用道具 举报

好厉害,学习了!!
回复 使用道具 举报
学习学习..
回复 使用道具 举报
include <stdio.h>

int main(){
    double a=0;
    while (a<=0||a>100||a!=(int)a ) {
        printf("请输入一个1-100以内的整数\n");
        scanf("%lf",&a);
    }}     这样应该可以,;楼主试试
回复 使用道具 举报
过来 学习下经验
回复 使用道具 举报
过来学习一下,那么怎么判断是不是整数呢?
回复 使用道具 举报
学习了.楼上说的很详细
回复 使用道具 举报
看不懂。。。
回复 使用道具 举报
用条件语句判断
回复 使用道具 举报
梦初醉 发表于 2015-5-18 01:00
IF 语句判断呗 , 自己百度一下,考虑考虑好思路!!!!!!

嗯,谢谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马