输入一行字符,分别统计其中各英文字母出现的次数(不区分大小写)c++,求挑错

2024-11-01 02:01:43
推荐回答(1个)
回答1:

数组n事先没有设置为0

#include
int main() {
char s[]= {"abcdefghijklmnopqrstuvwxyz"};
char x[50];
int n[26],i,j[50];
printf("输入一行字符:");
gets(x);
for(i=0;i<26;i++) n[i] = 0; // 初始化为0
for(i=0; x[i]!='\0'; i++) {
j[i]=x[i];
if(j[i]>=65&&j[i]<=90)
n[j[i]-65]++;
if(j[i]>=97&&j[i]<=122)
n[j[i]-97]++;
}
for(i=0; i<26; i++)
printf("%c出现了%d次\n",s[i],n[i]);
}