*对叭起,我实在是太懒惰啦,做完一直没有发!*现在我要补上他们!
#include<stdio.h>
int main()
{
char ch;
printf("请输入一个字符");
scanf("%c",&ch);
if(ch>='A' && ch<='Z'||ch>='a' && ch<='z')
printf("%c是一个字母\n",ch);
else
if(ch>='0' && ch<='9')
printf("%c是一个数字\n",ch);
else
printf("%c是一个其它字符\n",ch);
return 0;
}
实话不太想把问题写进去,怕大神看见我的问题发笑哈哈哈,不过,实验报告ma,写全吧
问题:①没有考虑到大写字母的情况,导致执行时输入大写字母被判定为其它字符;②少写了第一个else,导致输入一个字母a后,输出结果为:a是一个字母 (换行) a是一个其它字符
解决方案:①看到执行结果后发现自己的疏忽,加了进去。同时尝试了将大小写字母利用else if进行分开输入,分别输出%c是一个大写字母和%c是一个小写字母,依然可行。但题目并未要求就合并编写了,更简洁。②检查后发现有两个if,却只有一个else,发现if判断是否是字母的语句后少了else,添加后正确。