本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。
输入样例:
aZ &
09 Az
输出样例:
letter = 4, blank = 3, digit = 2, other = 1
解题思路:一开始我想用switch,case来解题但忘了switch,case的规则,因此用If判断更为简单方便,当然了也可以使用现有的库函数(这边未提供,感兴趣的可自行百度);
程序实现如下:
#include<stdio.h>
int main(void)
{
int i;
int letter,blank,digit,other;
letter=blank=digit=other;
char a;
for(i=0;i<10;i++)
{
a=getchar();
if((a>='a'&&a<='z')||(a>='A'&&a<='Z'))
{
letter++;
}else if(a>='0'&&a<='9'){
digit++;
}else if(a==' '||a=='\n'){
blank++;
}else{other++;}
}
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
return 0;
}