用c语言编写输入一字符串,统计字符串中各个字母出现的次数(区分大小写)

如题所述

#include <stdio.h>
int main()
{int a[128]={0};
 char ch;
 do
 {scanf("%c",&ch);
  a[ch]++;
 }while(ch!='\n');
 for(ch='A';ch<='Z';ch++)
   if(a[ch])cout<<ch<<":"<<a[ch]<<endl;
 for(ch='a';ch<='z';ch++)
   if(a[ch])cout<<ch<<":"<<a[ch]<<endl;
 return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-28
#include<stdio.h>
void main() { char str[256]; int a[256],i;
  for ( i=0;i<256;i++ ) a[i]=0;
  gets(str);
  i=0; while ( str[i] ) { a[str[i]]++; i++; }
  for ( i=0;i<256;i++ ) if ( a[i] ) printf("字符%c出现次数%d\n",i,a[i]);
}

第2个回答  2015-11-30
#include "stdio.h"
#define N 100
int main() {
char s[N];
printf("Input a string:\n");
scanf("%s",s);
int i,up[26]={0},down[26]={0};
for(i=0;i<N && s[i]!=0;i++) {
if(s[i]>='A' && s[i]<='Z') // 大写字母
up[ s[i]-'A' ]++;
else if(s[i]>='a' && s[i]<='z') //小写字母
down[ s[i]-'a' ]++;
else { // 其它 出错
printf("What you input is not a valid string,error--> %c\n",s[i]);
return 0;
}
}
printf("The result is as follows:\n");
for(i=0;i<26;i++) {
if(up[i]!=0)
printf("%c----%d\n",i+'A',up[i]);
if(down[i]!=0)
printf("%c----%d\n",i+'a',down[i]);
}
return 0;
}本回答被网友采纳
相似回答