二维数组排序
#include <stdio.h>#include <string.h>
#define N 1000
int main(void)
{
char s[N];
int i,n,num[26]={0}, max;
printf(" ");
gets(s);
for(i=0;i<strlen(s);i++)
{
if(s[i]>='a'&&s[i]<='z')
num[s[i]-97]++;
else if(s[i]>='a'&&s[i]<='z')
num[s[i]-65]++;
}
max = 0;
for (i=0;i<26;i++ )
{
if (max<num[i])
{
max = num[i];
n = i;
}
}
printf("Max:\n");
printf("%c %d\n",'a' + n,max);
printf("Sort:\n");
for(i=0;i<26;i++)
{
if(num[i]!=0)
{
printf("%c %d\n",i+'a',num[i]);
}
n++;
}
return 0;
}
输出按字母重复次序由大到小排列
最好帮忙加一下注释
[ 本帖最后由 袁野 于 2010-11-25 20:35 编辑 ]