字符统计排序

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:46:50
输出一个字符串 内容是从a到z的小写字母,字符串做多有1000个字符。统计每个字符的出现次数并且找出最大并排序。
范例输入 abcdadfdfdfdf
范例输出
Max:
d 5
Sort:
d 5
f 4
a 2
c 1
b 1
我写的程序运行出错了 不会改 希望大虾帮忙
#include <stdio.h>
#include <stdlib.h>

int main()
{
int C[26];
int I,J;
char A[1000];
char B[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};

while (1)
{
scanf("%c",&A[I]);
while (A[I]!='\n')
{

for (J=0;J<=25;J++)
{
if (A[I]==(J+97))
{
C[J]++;
bre

帮你改好了。
#include <stdio.h>
#include <stdlib.h>

int main()
{ //变量名小写(大写的表示宏定义的常量。
int c[26];
int i = 0, j;//请初始化i。
char a[1000];
char b[26]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int p=0;
int m;

for( i = 0; i < 26; i++ )
{
c[i] = 0;
}
while( 1 )
{
scanf( "%c", &a[i] );
while( a[i] != '\n' )
{
for(j = 0; j <= 25; j++)
{
if( a[i] == ( j+97 ) )//码错了。
{
c[j]++;
break;