| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 625 人关注过本帖
标题:请教一个排序问题!
只看楼主 加入收藏
wjcloudy
Rank: 1
来 自:辽宁大连
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-11-6
收藏
 问题点数:0 回复次数:7 
请教一个排序问题!

将一个数组的元素按大小顺序重新排列,必须用for循环语句:
我写了一个,但数组元素有相同的就会输不出最小的数,请各位指点一二.
#include<stdio.h>
int main()
{
int b[3][4],m,n,i,j,max,min,k=10000;
int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}};
 /*输出原数组*/
printf("原数组:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
printf("%3d",a[i][j]);
if(j==3)
printf("\n");
}
}
 /*求数组最小值*/

min=a[0][0];
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(min>=a[i][j])min=a[i][j];
}
}
/*将数组里的数按大小顺序排列*/

printf("排序后的数组:\n");
max=a[0][0];
for(m=0;m<=2;m++)
{
for(n=0;n<=3;n++)
{
for(i=0;i<=2;i++)
{
for(j=0;j<=3;j++)
{
if(a[i][j]>=k)continue;
else if(max<=a[i][j])
max=a[i][j];
}
}
b[m][n]=max;
printf("%-3d",b[m][n]);
k=max;
max=min;
if(n==3)printf("\n");
}
}
return 0;
}

搜索更多相关主题的帖子: include 元素 
2007-11-13 09:38
codelet
Rank: 2
来 自:广东深圳
等 级:论坛游民
帖 子:61
专家分:37
注 册:2007-11-6
收藏
得分:0 

你没写输出语句
/*求数组最小值*/

min=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(min>a[i][j])
min=a[i][j];
printf("%d",min); //输出min


Losing emotion, Finding devotion.
2007-11-13 10:10
yuhuidie36
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2007-11-13
收藏
得分:0 
在我机子上咋运行不通啊!
2007-11-13 10:23
codelet
Rank: 2
来 自:广东深圳
等 级:论坛游民
帖 子:61
专家分:37
注 册:2007-11-6
收藏
得分:0 
不是吧?在我机子上输出-10 啊

Losing emotion, Finding devotion.
2007-11-13 10:39
bayforever
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-11-3
收藏
得分:0 
。。。。。还没到10篇
2007-11-13 11:34
lchy110
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-10-24
收藏
得分:0 

马上就10

2007-11-14 10:05
zmicesea
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-5-25
收藏
得分:0 
呵呵
2007-11-14 11:44
wjcloudy
Rank: 1
来 自:辽宁大连
等 级:新手上路
帖 子:44
专家分:0
注 册:2007-11-6
收藏
得分:0 
回复:(codelet)你没写输出语句/*求数组最小值*/...
我并不是要输出最小值,而是输出重大到小排序后的数组
2007-11-17 18:42
快速回复:请教一个排序问题!
数据加载中...
 
   



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

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