| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 503 人关注过本帖
标题:数字排序问题,方法今天无意中想到,以前不是用这个方法
取消只看楼主 加入收藏
Lc_fox
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-11-20
收藏
 问题点数:0 回复次数:0 
数字排序问题,方法今天无意中想到,以前不是用这个方法
#include <stdio.h>

int main ()
{
int sum[10] = {3,1,11,32,62,52,57,43,52,97}, sum2[10];
int max, i, j, n;

max = 0;

for (j=0; j<10; j++) /* 外循环将sum[10]中的数从大到小存入sum2[10]中 */
{
max = NULL;

for (i=0; i<10; i++) /* 此循环取最大值 */
{
if (max < sum && sum != NULL) /* 取最大值赋给变量max */
{
max = sum;
}
}
for (n=0; n<10; n++) /* 此循环将最大值赋空值 */
{
if (sum[n] == max)
sum[n] = NULL;
}
sum2[j] = max; /* 将最大值赋给sum2[n]中 */
}

for (i=0; i<10; i++)
{
printf("%d\t",sum2);
}

printf("\n");

for (i=0; i<10; i++)
{
printf("%d\t",sum);
}
getch();
}

/*

以上代码有一个让我头痛的地方,大家也想到了吧 将最大值赋空值NULL其实不过是赋0值,那么
如果sum中含有负数,则条件 (sum < max && max != NULL) 成立, 于是将负数赋值为NULL,也就是0, 不知哪位C高手指点一下,谢谢,最好是赋一个特别的值,而不是空值NULL

*/

[此贴子已经被作者于2005-11-21 22:01:19编辑过]

搜索更多相关主题的帖子: 数字 
2005-11-21 12:55
快速回复:数字排序问题,方法今天无意中想到,以前不是用这个方法
数据加载中...
 
   



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

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