C代码如下,按数值从小到大排序,编译通过,但是执行时不显示任何文字,应该不会是我电脑运行速度的问题。

[复制链接]
查看11 | 回复2 | 2011-10-30 10:37:28 | 显示全部楼层 |阅读模式
#includestdio.hvoidswap(inta,intb){inttemp;temp=a;a=b;b=temp;}voidsort(inta[],intn){inti;for(i=0;in-1;i){while(a=a[i1]){swap(a,a[i1]);}}for(i=0;in;i){printf(\"a[%d]\\t%d\\n\",i,a);}}intmain(){inta[5]={4,5,2,8,0};sort(a,5);return0;}
回复

使用道具 举报

千问 | 2011-10-30 10:37:28 | 显示全部楼层
#includestdio.h//voidswap(inta,intb)//{//inttemp;//temp=a;//a=b;//b=temp;//}voidswap(int*a,int*b)//相应的也要把形参改为指针{inttemp;temp=*a;*a=*b;*b=temp;}voidsort(inta[],intn){inti;for(i=0;in-1;i){while(a=a[i1]){//swap(a,a[i1]);swap(//传过去的是要地址,否则不能真正的交换数值,这就是你为什么不显示文字的原因i=0;//当交换数值后要从新判断}}for(i=0;in;i){printf(\"a[%d]\\t%d\\n\",i,a);}}intmain(){inta[5]={4,5,2,8,0};sort(a,5);return0;}
回复

使用道具 举报

千问 | 2011-10-30 10:37:28 | 显示全部楼层
粗看了一下应该是sort函数写错了for(i=0;in-1;i){while(a=a[i1]){swap(a,a[i1]);}}这个有问题赞同
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行