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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Dast 中级黑马   /  2015-6-9 13:20  /  1147 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Dast 于 2015-6-9 16:54 编辑

#include <stdio.h>

int main(int argc, const char * argv[]) {
    // insert code here...
    int score = 0;
    printf("input score please:");
    do {
        scanf("%d",&score);
    } while( score<0 || score > 100);
     if (score <= 60){
        printf("the score is E");
    }else if (score <= 80){
        printf("score is B");
    }else if (score <= 100){
        printf("score is A");
    }
       return 0;
}

8 个回复

倒序浏览
难道是我打开的方式不对?
回复 使用道具 举报
score<0 || score > 100, 这里要改下,应当是score>=0 && score <=100

点评

楼主的问题不是这个,楼主那样写是没有错的,你这样写反而不对,楼主那个语句的意思是输入语句<0或者>100时退出输入。  发表于 2015-6-9 15:15
回复 使用道具 举报
直到循环和当循环的区别
还有就是这里最好不要这样写循环,没有任何提示 输错一次继续scanf,别人根本不知道要做什么。
回复 使用道具 举报
你这个函数没什么问题,就是那个do while最好别这么写,你这么写如果输入负数或者>100的数,别人不知道该怎么做了。
回复 使用道具 举报
写法是没问题的,你可以检查一下你工程里的符号是否是英文符号。
回复 使用道具 举报
Dast 中级黑马 2015-6-9 16:52:32
7#
Elors 发表于 2015-6-9 16:36
写法是没问题的,你可以检查一下你工程里的符号是否是英文符号。

的确是,while里面有中文输入法的字母,重写就ok了。谢谢
回复 使用道具 举报
Dast 中级黑马 2015-6-9 16:53:33
8#
白0702 发表于 2015-6-9 15:12
你这个函数没什么问题,就是那个do while最好别这么写,你这么写如果输入负数或者>100的数,别人不知道该怎 ...

int score = -1;
     do
    {
        printf("input score please:");
        scanf("%d",&score);
    }while(score<0 ||score>100);
改成这样就知道干嘛了,嘻嘻
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马