| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 418 人关注过本帖
标题:c语言函数排序问题(新手)
只看楼主 加入收藏
yangleiol
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-7-25
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
c语言函数排序问题(新手)
原式:
void sort(int array[],int n)
{
int i,j,t,k;
for(i=0;i<n-1;i++)
{k=i;
for(j=i+1;j<n;j++)
if(array[j]<array[k])
k=j;
t=array[k];array[k]=array[i];array[i]=t;}

}


改为
void sort(int array[],int n)
{
int i,j,t;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
if(array[j]<array[i])
t=array[j];array[j]=array[i];array[i]=t;}
}
运行答案后,答案不正确。为什么一定要用原式K来过渡。
搜索更多相关主题的帖子: 函数 c语言 
2009-07-25 21:56
广陵绝唱
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:29
帖 子:3607
专家分:1709
注 册:2008-2-15
收藏
得分:10 
回复 楼主 yangleiol
因为第二个程序中, if 语句后面没用大括号括起来。其实用 k 与不用 k ,都能达到最终目的,只不过用 k 之后,能使程序运行效率提高。
2009-07-25 21:59
mfkblue
Rank: 5Rank: 5
等 级:职业侠客
帖 子:472
专家分:343
注 册:2008-12-21
收藏
得分:10 
没仔细看
下面的if(array[j]<array[i]);上面用的是k ,k和i不是相等的
2009-07-25 22:01
yangleiol
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-7-25
收藏
得分:0 
谢谢。。。行了。。。那为什么第一个程序,if没有用大括号扩起来也是可以运行的。
2009-07-25 22:04
yangleiol
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2009-7-25
收藏
得分:0 
回复 2楼 广陵绝唱
谢谢。。。行了。。。那为什么第一个程序,if没有用大括号扩起来也是可以运行的。
2009-07-25 22:06
快速回复:c语言函数排序问题(新手)
数据加载中...
 
   



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

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