| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 357 人关注过本帖
标题:字符串的排序问题
只看楼主 加入收藏
文武两边随
Rank: 2
等 级:论坛游民
帖 子:40
专家分:39
注 册:2009-7-23
结帖率:90.91%
收藏
已结贴  问题点数:20 回复次数:1 
字符串的排序问题
#include"stdio.h"
#include"string.h"
main()
{
 void sort(char *name[],int n);
 void print(char *name[],int n);
 char *name[]={"Follow me","Basic","Fortran","Great wall","Computer design"};
 int n=5;
 sort(name,n);
 print(name,n);
 printf("\n***********\n");

}

void sort(char *name[],int n)
{
 char *temp;
 int i,j;
 for(i=0;i<n-1;i++)
   for(j=i+i;j<n;j++)
   if(strcmp(name[i],name[j])>0)
   {temp=name[i],name[i]=name[j];name[j]=temp;}
}
 void print (char *name[],int n)
 {
  int i;
  for(i=0;i<n;i++)
  printf("%s\n",name[i]);


 }
书上是用选择法排的我测试可以得到正确结果
但我自己用冒泡法排  结果是错的 并不是按照大小顺序排的
看了半天也没发现原因
求指点:谢谢!
搜索更多相关主题的帖子: 字符 
2009-07-28 12:37
godbless
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:216
专家分:950
注 册:2009-7-24
收藏
得分:20 
#include"stdio.h"
#include"string.h"
main()
{
void sort(char *name[],int n);
void print(char *name[],int n);
char *name[]={"Follow me","Basic","Fortran","Great wall","Computer design"};
int n=5;
sort(name,n);
print(name,n);
printf("\n***********\n");

}

void sort(char *name[],int n)
{
char *temp;
int i,j;
for(i=0;i<n-1;i++)
   for(j=i+i;j<n;j++)            //for(j=i+1;j<n;j++) 是1不是i,粗心所致.
   if(strcmp(name[i],name[j])>0)
   {temp=name[i],name[i]=name[j];name[j]=temp;}
}
void print (char *name[],int n)
{
  int i;
  for(i=0;i<n;i++)
  printf("%s\n",name[i]);


}
2009-07-28 13:08
快速回复:字符串的排序问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013925 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved