输入一行字符(字符个数小于80),这行字符包括小写字母,大写字母,数字,空格等其他可打印符号。请统计各字母的个数,小写字母和大写字母统计于小写字母上,例如输入字符串为:aA123B,则字母a出现的次数为2,字母b出现的次数为1;如果某字母小写大写都没出现,则不用进行输出。
输入:一行字符
输出:若干行
思路:利用getchar函数和数组存入输入的字符;
两层循环,第一层循环小写字母,第二层遍历数组,条件判断数组是否与小写字母相等,若有count++;
输出结果;
具体看代码
#include<stdio.h>
int main(){
char a[60];
char ch;
int i,cnt=0,j,count=0;
do{//将输入的字符存入数组
ch=getchar();
a[cnt++]=ch;
}while(ch!='\n');
for(i=97;i<=122;i++){//第一层循环为小写字母a-z
for(j=0;j<cnt;j++){//第二层遍历数组
if(a[j]>=65&&a[j]<=90)//大写转小写
a[j]+=32;
if(a[j]==i)//若数组中有符合第一层循环中的小写字母则记下
count++;
}
if(count>0)//输出统计下来的小写字母次数
printf("%c is %d\n",i,count);
count=0;//记得将count归零,不然count会累积
}
更多推荐
C语言字符个数统计
发布评论