程序有问题,帮你动了动,
#include <string.h>
#include <stdio.h>
int main()
{
int i,n,j=97;
char s[1024]="";
int letter[26];
printf("please input string:");
gets(s);
n=strlen(s);
for(i=0;i<26;i++)
{
letter[i]=0;
}
for(i=0;i<n;i++)
switch(s[i])
{
case'a': ++letter[0];break;
case'b': ++letter[1];break;
case'c': ++letter[2];break;
case'd': ++letter[3];break;
case'e': ++letter[4];break;
case'f': ++letter[5];break;
case'g': ++letter[6];break;
case'h': ++letter[7];break;
case'i': ++letter[8];break;
case'j': ++letter[9];break;
case'k': ++letter[10];break;
case'l': ++letter[11];break;
case'm': ++letter[12];break;
case'n': ++letter[13];break;
case'o': ++letter[14];break;
case'p': ++letter[15];break;
case'q': ++letter[16];break;
case'r': ++letter[17];break;
case's': ++letter[18];break;
case't': ++letter[19];break;
case'u': ++letter[20];break;
case'v': ++letter[21];break;
case'w': ++letter[22];break;
case'x': ++letter[23];break;
case'y': ++letter[24];break;
case'z': ++letter[25];break;
}
printf("out put:\n");
for(i=0;i<=25;i++)
{
printf("%d %c\n",letter[i],j);
j++;
}
return 0;
}
有个转大小写代码的我给去掉了,linux环境不给支持,
你自己加下
好像是几个数组循环时越界