char a[30];
int b[26]={0};
int i,j;
printf("输入30个字符、\n");
for(i=0;i<30;i++)
{ scanf("%c",&a[i]);
switch(a[i])
{
case 'a':b[1]++;break;
case 'b':b[2]++;break;
case 'c':b[3]++;break;
case 'd':b[4]++;break;
case 'e':b[5]++;break;
case 'f':b[6]++;break;
case 'g':b[7]++;break;
case 'h':b[8]++;break;
case 'i':b[9]++;break;
case 'j':b[10]++;break;
case 'k':b[11]++;break;
case 'l':b[12]++;break;
case 'm':b[13]++;break;
case 'n':b[14]++;break;
case 'o':b[15]++;break;
case 'p':b[16]++;break;
case 'q':b[17]++;break;
case 'r':b[18]++;break;
case 's':b[19]++;break;
case 't':b[20]++;break;
case 'u':b[21]++;break;
case 'v':b[22]++;break;
case 'w':b[23]++;break;
case 'x':b[24]++;break;
case 'y':b[25]++;break;
case 'z':b[26]++;break;
}
}
for(i=0;i<25;i++,j++)
{
printf("有%d个%c\n",b[i],j+97);
}
求解这个程序怎么错了。。【虽然能成功编译,但是答案是不对的
你好!
代码改了,你对照原来的程序看看吧,有问题再问
它输入的时候要输入多少个字母?为什么我输入了不止30个。。
追答你输入多少个都行,只能统计的时候,统计前30个了,你输入 5 个也行;
不知道你程序的要求是什么?
输入30个字母,统计各个字母在中间有多少个
追答那你输入的时候,就数着输入的个数吧,或者给你改程序
没有b[26]。只有b[0]到b[25],下标溢出
输入的时候连续输入