题目描述
统计输入字符串中的字符个数,字符串中可能包含大、小写英文字母、数字字符、空格和换行符。统计字符数时,空格和换行符不计算在内。
输入格式
输入文件只有一行,一个字符串 s。
输出格式
输出文件只有一行,包含一个整数,即字符数(不含空格和换行符)。
输入输出样例
输入#1
234
输出#1
3
输入 #2
Ca 45
输出 #2
4
#include <stdio.h>
int main(){
char a[100];//定义一个字符数组,存放输入的字符
int b[3]={0};//定义一个整形数组,统计个数
gets(a);//输入字符串
for(int i=0;a[i]!='\0';i++){
if(a[i]>='a'&&a[i]<='z'){
b[0]++;//统计小写字母个数
}else if(a[i]>='A'&&a[i]<='Z'){
b[1]++;//统计大写字母个数
}else if(a[i]>='0'&&a[i]<='9'){
b[2]++;//统计数字个数
}
}
printf("%d",b[0]+b[1]+b[2]);
return 0;
}
拓展
输入一行字符(以回车键结束),统计其中大写字母的个数、小写字母的个数、数字字符的个数、空格个数及其他字符的个数
样例输入:
3qwe QAZS+
样例输出:
小写字母个数为:3
大写字母个数为:4
数字的个数为:1
空格的个数为:1
其他的个数为:1
#include <stdio.h>
int main(){
char a[100];//定义一个字符数组,存放输入的字符
int i;
int b[5] = { 0 };//定义一个整形数组,统计个数
gets(a);//输入字符串
for (i = 0; a[i] != '\0'; i++){
if (a[i] >= 'a' && a[i] <= 'z')
b[0]++;//统计小写字母个数
else
if (a[i] >= 'A' && a[i] <= 'Z')
b[1]++;//统计大写字母个数
else
if (a[i] >= '0' && a[i] <= '9')
b[2]++;//统计数字个数
else
if (a[i] == ' ')
b[3]++;//统计空格个数
else
b[4]++;//统计其他字符个数
}
printf("小写字母个数为:%d\n",b[0]);
printf("大写字母个数为:%d\n",b[1]);
printf("数字的个数为:%d\n",b[2]);
printf("空格的个数为:%d\n",b[3]);
printf("其他的个数为:%d\n",b[4]);
return 0;
}