#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;
}