结果输出顺序不对
程序代码:
#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; }
输入一串字母
结果应该是按照字母重复次数排列,而不是按照字母数序排列