c语言 输入一行字符串,统计每个字母出现的次数?(比如:a:1次 b:0次 c:10次)

如题所述

#include <stdio.h>
#include <string.h>
int main(){
int i,n,a[26];
for(i=0;i<26;i++)
a[i]=0;
char str[100];
gets(str);n=strlen(str);
for(i=0;i<n;i++)
if(str[i]>='A'&&str[i]<='Z') a[str[i]-'A']++;
else if (str[i]>='a'&&str[i]<='z') a[str[i]-'a']++;
for(i=0;i<26;i++)
if(a[i])
printf("%c:%d\n",i+'a',a[i]);
return 0;
}

追问

可不可以不用string

追答

你还没学?

追问

还没有

追答#include <stdio.h>
int main(){
int i,a[26];
char ch;
for(i=0;i<26;i++)
a[i]=0;
while(scanf("%c",&ch)!=EOF)
{
if(ch>='A'&&ch<='Z')
a[ch-'A']++;
else if (ch>='a'&&ch<='z') 
a[ch-'a']++;
}
for(i=0;i<26;i++)
if(a[i])
printf("%c:%d\n",i+'a',a[i]);
return 0;
}

温馨提示:答案为网友推荐,仅供参考
相似回答