7-2 统计英文字母和数字字符[2]
分数 15
作者 颜晖
单位 浙大城市学院
本题要求编写程序,输入N个字符,统计其中英文字母、数字字符和其他字符的个数。
输入格式:
输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照letter = 英文字母个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
在这里给出一组输入。例如:
10
aZ &
09 Az
输出样例:
在这里给出相应的输出。例如:
letter = 4, digit = 2, other = 4
代码
#include <stdio.h>
int main(void)
{
char str;
int letter=0,digit=0,other=0,n,ch;
scanf("%d",&n);
getchar();//记录回车键
for(int i=1;i<=n;i++)
{
scanf("%c",&str);
if(str>='a'&&str<='z') letter++;
else if(str>='A'&&str<='Z') letter++;
else if(str>='0'&&str<='9') digit++;
else other++;
}
printf("letter = %d, digit = %d, other = %d",letter,digit,other);
return 0;
}
代码解析
#include <stdio.h>
int main(void)
{
char str; //定义字符
int letter=0,digit=0,other=0,n,ch; // letter记录字符 digit记录数字 other记录其他
scanf("%d",&n);
getchar();//记录回车键
for(int i=1;i<=n;i++)
{
scanf("%c",&str);
if(str>='a'&&str<='z') letter++;
else if(str>='A'&&str<='Z') letter++;
else if(str>='0'&&str<='9') digit++;
else other++;
}
printf("letter = %d, digit = %d, other = %d",letter,digit,other);
return 0;
}