标题:[求助]请高手帮看看一个排序的小题哪里错误?谢谢了
只看楼主
梦里水乡
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-6-15
 问题点数:0 回复次数:2 
[求助]请高手帮看看一个排序的小题哪里错误?谢谢了

我怎么看也没看出哪里有毛病,假如:输入:1 2 3 4输出不是应该4 3 2 1 吗?可下面这个程序我输入多少它就跟着输出多少,输出也是1 2 3 4,根本不排序。气死了。明白人帮看看。谢谢了啊。 /*输入4个整数按从大到小顺序排序输出*/ main() { int num[4],i,j,maxindex,tmp; printf("Please input 4 number:\n"); for(i=0;i<4;i++) scanf("%d",&num[i]); printf("C Max-min :"); for(i=0;i<4;i++); { maxindex=i; for (j=i+1;j<4;j++) if (num[maxindex]<num[j]) maxindex=j; if (maxindex!=i) { tmp=num[i];num[i]=num[maxindex];num[maxindex]=tmp; } } for (i=0;i<4;i++) printf("%d",num[i]);

getch();

}

搜索更多相关主题的帖子: 多少 number 明白人 
2005-06-19 11:10
牛虻
Rank: 1
等 级:新手上路
威 望:1
帖 子:472
专家分:0
注 册:2004-10-1
得分:0 
以下是引用梦里水乡在2005-6-19 11:10:44的发言:

我怎么看也没看出哪里有毛病,假如:输入:1 2 3 4输出不是应该4 3 2 1 吗?可下面这个程序我输入多少它就跟着输出多少,输出也是1 2 3 4,根本不排序。气死了。明白人帮看看。谢谢了啊。 /*输入4个整数按从大到小顺序排序输出*/ main() { int num[4],i,j,maxindex,tmp; printf("Please input 4 number:\n"); for(i=0;i<4;i++) scanf("%d",&num[i]); printf("C Max-min :"); for(i=0;i<4;i++);//这边多一个分号,就变成一个空语句了,后面都没有执行,汗! { maxindex=i; for (j=i+1;j<4;j++) if (num[maxindex]<num[j]) maxindex=j; if (maxindex!=i) { tmp=num[i];num[i]=num[maxindex];num[maxindex]=tmp; } } for (i=0;i<4;i++) printf("%d",num[i]);

getch();

}

下面附上比你的简单的写法 main() { int num[4],i,j; printf("Please input 4 number:\n"); for(i=0;i<4;scanf("%d",&num[i++])); for(i=0;i<3;i++) {for (j=i+1;j<4;j++) if(num[i]<num[j]) {num[i]+=num[j];num[j]=num[i]-num[j];num[i]-=num[j];} } printf("C Max-min :"); for (i=0;i<4;printf("%d ",num[i++])); getch(); }


土冒
2005-06-19 19:46
小悟空
Rank: 1
等 级:新手上路
帖 子:218
专家分:0
注 册:2005-5-14
得分:0 
多个分号,,,~~~!!!

2005-06-19 19:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-21191-1-1.html




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

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