小弟初学C,遇到问题希望各位大侠能帮小弟一把,谢谢了!!

andyzhouji 2004-08-26 02:31:17
#include"string.h"
main()
{
void sore(char *cname[],int n);
void print(char *cname[],int n);
static char *cname[]={"China",
"Australia","French","Genman","Japan"};
int n=5;
sore(cname,n);
print(cname,n);
}
void sore(char *cname[],int n)
{
char *pt;
int i,l,k;
for(i=0;i<n-1;i++){
l=i;
for(k=i+1;k<n;k++)
if(strcmp(cname[l],cname[k])>0)l=k;
if(l!=i){
pt=cname[l];
cname[l]=cname[k];
cname[k]=pt;
}
}
}
void print(char *cname[],int n){
int i;
for(i=0;i<n;i++)printf("The country shouble be:%s\n",cname[i]);
}

我看了很久也没看出什么问题,编译通过了,但是执行的时候出现错误!谢谢了!
...全文
103 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
梁尚君 2004-08-26
  • 打赏
  • 举报
回复
#include"string.h"
main()
{
void sore(char *cname[],int n);
void print(char *cname[],int n);
static char *cname[]={"China",
"Australia","French","Genman","Japan"};
int n=5;
printf("\n\nBefore sort:\n\n");
print(cname,n);
sore(cname,n);
printf("\n\nAfter sorted:\n\n");
print(cname,n);
getch();
}
void sore(char *cname[],int n)
{
char *pt;
int i,j,l,k;
for(i=0;i<n-1;i++)
{
l=i;
for(k=i+1;k<n;k++)
if(strcmp(cname[l],cname[k])>0)
/*少了一句*/
{
j=l;
l=k;
}
if(l!=i){
pt=cname[l];
cname[l]=cname[j];
cname[j]=pt;
}
}
}
void print(char *cname[],int n){
int i;
for(i=0;i<n;i++)
printf("The country shouble be:%s\n",cname[i]);
}
andyzhouji 2004-08-26
  • 打赏
  • 举报
回复
要求输入5个国名并按字母顺序排列后输出 
对不起,是这个题目!!!
xczjl 2004-08-26
  • 打赏
  • 举报
回复
如果是为了完成你的目的,其实不用这么复杂!
不过就上面这个问题我也找不出来!
还是下面的来接吧!
appollowzp 2004-08-26
  • 打赏
  • 举报
回复
这么小气。。。
godandsoul 2004-08-26
  • 打赏
  • 举报
回复
大哥
下次帮忙写写注释啊
哪怕是功能也好
很难读的

33,321

社区成员

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

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