从键盘任意输入一个字符,编程判断是否是字母(包括大小写)。
输入描述:
多组输入,每行输入包括一个字符。
输出描述:
针对每行输入,输出该字符是字母(YES)或不是(NO)。
输入样式:
H
9
输出样式:
YES
NO
本题考察的重点是如何使用scanf读入多行数据,以及判断布尔运算符如何编写。
使用getchar函数可以读入多余的回车符,以及利用小括号改变布尔表达式的优先级。
代码:
方法一:
#include <stdio.h>
int main() {
char ch = 0;
while(scanf("%c", &ch)!=EOF//scanf("%c", &ch)==1) {
//读入回车符
getchar();
/*或者使用isalpha函数进行判断
if(isalpha(ch))*/
if((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z'))
printf("YES\n");
else
printf("NO\n");
}
return 0;
}
方法二:
#include<stdio.h>
#include<ctype.h>
int main()
{
char n;
while(scanf("%c",&n)==1){
getchar();//与方法一步骤相同
n=tolower(n);//将所有字母转化为小写字母
if(n>='a'&&n<='z')printf("YES\n");
else printf("NO\n");
}
return 0;
}
题目链接:https://www.nowcoder.com/practice/44d2d63103664913bc243d3836b4f341?tpId=107&tqId=33315&rp=1&ru=%2Fta%2Fbeginner-programmers&qru=%2Fta%2Fbeginner-programmers%2Fquestion-ranking