if 语句这样问题怎么处理
怎么样才能杜绝 除啦输入数字之外 其他东西显示 请你输入有效成绩?应该在后面加什么 不明白你想问什么 把 else 删掉, 就不会显示那个了 把其中if (i > 90)
改成
if (i >90 && i<= 100)
试试 本帖最后由 Hacker_Jack 于 2017-4-13 07:12 编辑
系统会把输入字母的ASCII码值当整型输入,添加一段代码用于过滤字符/字符串就行,用if-else很好做的。 scanf函数如果接受成功会返回1,所以可以根据这个来判断输入的内容是否正确
#include <stdio.h>
#include <stdlib.h>
int main()
{
int result;
printf("请输入成绩:");
int a = scanf("%d",&result);
if(a){
printf("正确输入了成绩,成绩为:%d",result);
}else{
printf("请输入正确的成绩!");
}
return 0;
}
Hacker_Jack 发表于 2017-4-13 07:00
系统会把输入字母的ASCII码值当整型输入,添加一段代码用于过滤字符/字符串就行,用if-else很好做的。
具体怎么写 以字符串形式形式输入,一位位判断 是不是数字字符 0-9 .然后转换为数字运算 #include <stdio.h>
int main()
{
int i;
printf("please enter you num:\n");
while(scanf("%ld",&i)==1)
{
if(i>=90&&i<100)
printf("A\n");
else if (i>=80&&i<90)
printf("B\n");
else if (i>=0&&i<80)
printf("C\n");
}
return 0;
}
#include <stdio.h>
int main()
{
int i;
printf("please enter you num:\n");
if(!(scanf("%ld",&i)))
{
printf("请输入有效成绩!");
}
else if(i>=90&&i<100)
printf("A\n");
else if (i>=80&&i<90)
printf("B\n");
else if (i>=0&&i<80)
printf("C\n");
return 0;
}
页:
[1]