33,311
社区成员
发帖
与我相关
我的任务
分享
void sort(char u[],int arry[]){
int i,j,k,temp;
for(i=0;i<26;i++){
k=i;
for(j=i+1;j<27;j++)
if(arry[k]<arry[j]){
k=j;
temp=arry[k];
arry[k]=arry[i];
arry[i]=temp;
temp=u[k];
u[k]=u[i];
u[i]=temp;
}
}
}
#include <stdio.h>
#include <string.h>
#define N 100
void sort(char u[],int arry[])
{
int i,j,k,temp;
for(i=0;i<26;i++){
k=i;
for(j=i+1;j<27;j++)
if(arry[k]<arry[j]){
k=j;
temp=arry[k];
arry[k]=arry[i];
arry[i]=temp;
temp=u[k];
u[k]=u[i];
u[i]=temp;
}
}
}
int main()
{char s[N],word[26];
int i,j,n=1,num[26];
for(i=0,j=65;i<26;i++,j++)
{word[i]=j;
num[i]=0;
}
printf("Input a string:");//输入字符串
gets(s);
puts(s);
for(i=0;i<strlen(s);i++)
{if(s[i]>='a'&&s[i]<='z')//小写字母转化成大写字母
s[i]=s[i]-32;
for(j=0;j<26;j++)//统计字符串中相同字母的个数
{if(s[i]==word[j])
num[j]++; }
}
sort(word,num);
printf("The list:\n");//输出字母统计
for(i=0;i<26;i++)
if(num[i]!=0)
{printf("%c : %d ",word[i],num[i]);
n++;
if(n==6)
{printf("\n");//5个一组
n=1;
}
}
getchar();
}