小白提问,求给加个字母排序

Anckie 2010-07-05 09:29:54
#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;

}

}

}
void 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;
}

}
getch();
}
...全文
150 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
杀不死de坏蛋 2010-07-21
  • 打赏
  • 举报
回复
路过一下 看看新问题 学习了\(^o^)/~
眼睛猥琐男 2010-07-20
  • 打赏
  • 举报
回复
打酱油,路过
hitrose27 2010-07-20
  • 打赏
  • 举报
回复
来围观四楼哈哈
ForestDB 2010-07-20
  • 打赏
  • 举报
回复
没看懂
tonyzjg 2010-07-20
  • 打赏
  • 举报
回复
打酱油,路过
djjlove_2008 2010-07-20
  • 打赏
  • 举报
回复
楼主还没有结帖?
CloudmmFly 2010-07-20
  • 打赏
  • 举报
回复
不明白
ycl1314 2010-07-18
  • 打赏
  • 举报
回复
每天回帖即可获得10分可用分!小技巧:教您如何更快获得可用分
qgqch2008 2010-07-18
  • 打赏
  • 举报
回复
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;

}

}

}

把这个函数去掉就对了,不知道是不是楼主的意思
csuwuwenlin 2010-07-05
  • 打赏
  • 举报
回复
路过 路过
djjlove_2008 2010-07-05
  • 打赏
  • 举报
回复
#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();
}


你的代码没错呀,怎么提问了?

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧