输入一行字符(字符个数小于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语言编写的字符统计程序。程序通过读取一行少于80个字符的输入,统计其中小写字母的出现次数,同时将大写字母转换为小写进行计数。代码中采用两层循环,外层循环遍历小写字母,内层循环遍历输入的字符数组,通过条件判断统计每个小写字母的出现频率。最后,程序输出各小写字母的出现次数。
2万+

被折叠的 条评论
为什么被折叠?



