| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 398 人关注过本帖
标题:发个小题,大家看看怎么做
只看楼主 加入收藏
forrestx
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2007-11-9
收藏
 问题点数:0 回复次数:2 
发个小题,大家看看怎么做
一个数组,无序排列
如:int a[10]={3,2,5,7,4,3,1,10,8,9};

问题是:找出数组中第N大的数,并给出这个数的位置M
如:找出第3大的数,并说出它所在的位置
第3大的数 = 8
位置在第9位。
搜索更多相关主题的帖子: 位置 int 排列 
2007-11-12 16:58
dydytd3400
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2007-11-11
收藏
得分:0 
#include <stdio.h>
#define N 10 /*便于修改*/
void main()
{
int a[N],b[N],i,j,temp,pd;
for(i=0;i<N;i++) /*输入任意10个数(这里以10为例)*/
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=0;i<N;i++) /*对数组b[]进行排序*/
{
for(j=0;j<N-i-1;j++)
{
if(b[j]<b[j+1])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}

}
printf("输入要找第几大的数。");
scanf("%d",&pd);
for(i=0;i<N;i++)
{
if(b[pd-1]==a[i])
break;
}
printf("第%d大的数=%d\n",pd,a[i]);
printf("位置在第%d位",i);
}
应该没错吧~

我,该杀,真该杀!
2007-11-12 17:59
q25981841
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-11-10
收藏
得分:0 

#include <stdio.h>
#define N 10 /*便于修改*/
void main()
{
int a[N],b[N],i,j,temp,pd;
for(i=0;i<N;i++) /*输入任意10个数(这里以10为例)*/
{
scanf("%d",&a[i]);
b[i]=a[i];
}
for(i=0;i<N;i++) /*对数组b[]进行排序*/
{
for(j=0;j<N-i-1;j++)
{
if(b[j]<b[j+1])
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
}

}
printf("输入要找第几大的数。");
scanf("%d",&pd);
for(i=0;i<N;i++)
{
if(b[pd-1]==a[i])
break;
}
printf("第%d大的数=%d\n",pd,a[i]);
printf("位置在第%d
2007-11-12 19:33
快速回复:发个小题,大家看看怎么做
数据加载中...
 
   



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

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