PTA 7-164 统计字符个数
本题目要求统计一串字符中英文字符(‘a’-‘z’,‘A’-‘Z’)的个数、数字字符(‘0’-‘9’)的个数和其他字符的个数。
输入格式:
输入一串字符,以回车’&'结束。
输出格式:
letter=英文字符的个数,digital=数字字符的个数,others=其他字符的个数。
输入样例:
I am 26.&
输出样例:
'&'是结束符,&及其后面的字符都不计算在内,注意空格也是字符
letter=3,digital=2,others=3
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
int main(){
int letter = 0, digital = 0, others = 0; //分别定义英文字符的个数,数字字符的个数,其他字符的个数
char ch[1000]; //定义一个1000的数组
gets(ch); //输入
int i = 0; //字符数组的下标
while(ch[i] != '&'){ //遇到'&'结束,否则进行循环
if((ch[i] >= 'a' && ch[i] <= 'z') || (ch[i] >= 'A' && ch[i] <= 'Z')) //判断是否是小写字母或大写字母,是小写字母或大写字母letter加1
letter++;
else if(ch[i] >= '0' && ch[i] <= '9') //判断是否是数字,是数字digital加1
digital++;
else //既不是数字,也不是小写字母又不是大写字母的情况,others加1
others++;
i++;
}
printf("letter=%d,digitalk=%d,others=%d", letter, digital, others);
return 0;
}
解题思路:
step1:先将字符储存再数组中
step2:一个一个字符判断
归属知识点:
字符输入
选择结构
数组