统计一段字符串中各字母出现的次数并按次数排序?
#include<stdio.h>#include<string.h>
#define N 200
char switchit(char *str)
{
int i;
for(i=0;i<strlen(str);i++)
{
if((str[i]>='A')&&(str[i]<='Z'))
str[i]+=32;
return(*str);
}
}
int frequency(char *str)
{
int i,num[26]={0};
for(i=0;i<strlen(str);i++)
{
if(str[i]>='a'&&str[i]<='z')
num[str[i]-97]++;
}
return(num)
}
char rank(char *str)
{
int i,j,num[26]={0};
char t;
for(j=0;j<strlen(str);j++)
for(i=0;i<strlen(str)-j;i++)
if(num[i]<num[i+1])
{
t=num[i];
num[i]=num[i+1];
num[i+1]=t;
}
return(*str);
}
int main()
{
char s[N];
int i,num[26]={0};
printf("Input a string:\n");
gets(s);
switchit(s);
frequency(s);
rank(s);
for(i=0;i<26;i++)
}
写到这儿写不下去了,必须用三个函数(转化大小写字母,统计各字母出现次数,按次数多少排序)。
求大神赐教!!!