| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 493 人关注过本帖
标题:我做的数组排列 为什么不行???
取消只看楼主 加入收藏
martyxu
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-4-22
结帖率:71.43%
收藏
已结贴  问题点数:15 回复次数:2 
我做的数组排列 为什么不行???
数组numbers[10] = { 82, 47, 2, 29, 95, 15, 38, 66, 51, 72 }
把它按从小到大的顺序排列一下
以下是我做的程序
为什么结果变成了2 15 29 38 47 95 82 66 51 72
而不是 2 15 29 38 47  51 66 72 82 95 呢?

#include <stdio.h>

int main()
{
  int numbers[10] = { 82, 47, 2, 29, 95, 15, 38, 66, 51, 72 };
  int i,j,temp;
 
  for(i=0;i<10-i;i++)
  {
    for(j=i+1;j<10;j++)
      if(numbers[i]>numbers[j]){
      temp=numbers[i];
      numbers[i]=numbers[j];
      numbers[j]=temp;
      }
  }
  for(i=0;i<10;i++)
  printf("%i ",numbers[i]);
  return 0;
}
 
搜索更多相关主题的帖子: 排列 
2010-07-21 10:35
martyxu
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-4-22
收藏
得分:0 
以下是引用sunyh1999在2010-7-21 13:25:49的发言:

LZ可以看看,参考一下
谢谢你 大哥
2010-07-21 21:02
martyxu
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2010-4-22
收藏
得分:0 
以下是引用flyingcat在2010-7-21 10:43:08的发言:

 
#include  
 
int main()
{
  int numbers[10] = { 82, 47, 2, 29, 95, 15, 38, 66, 51, 72 };
  int i,j,temp;
 
  for(i=0;i<10;i++)//这里纠正一下,不是到10-i,到10就行了,不过整段代码还是可以再优化一下的
  {
    for(j=i+1;j<10;j++)
      if(numbers>numbers[j]){
      temp=numbers;
      numbers=numbers[j];
      numbers[j]=temp;
      }
  }
  for(i=0;i<10;i++)
  printf("%i ",numbers);
  return 0;
}
谢谢!
2010-07-21 21:03
快速回复:我做的数组排列 为什么不行???
数据加载中...
 
   



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

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