| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 7241 人关注过本帖
标题:[求助]求数组A[10]中的最大值,次大值。谢谢啊
只看楼主 加入收藏
奇牙
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-1-31
收藏
 问题点数:0 回复次数:39 
[求助]求数组A[10]中的最大值,次大值。谢谢啊
求数组A[10]中的最大值,次大值。谢谢啊 最大值简单点 那次大值怎么求啊?
搜索更多相关主题的帖子: 最大值 
2005-04-02 15:19
aniude
Rank: 2
等 级:新手上路
威 望:3
帖 子:231
专家分:0
注 册:2004-11-3
收藏
得分:0 
#include <stdio.h>
void main()
{
int a[10],i,j,max,temp;
for(i=0;i<10;i++) scanf("%d",&a[i]);
for(i=0;i<2;I++)
{
max=i;
for(j=i+1;j<10;j++) {if(max<a[j]) max=j;}
if(max!=i) {temp=a[i];a[i]=a[max];a[max]=temp;}
}
printf("max=%d,second max=%d",a[0],a[1]);
}
方法不好

[此贴子已经被作者于2005-4-2 17:27:38编辑过]



2005-04-02 17:26
奇牙
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2005-1-31
收藏
得分:0 
#include <stdio.h>
void main()
{
int a[10],i,j,max,temp;
for(i=0;i<10;i++) scanf("%d",&a[i]);
for(i=0;i<2;I++)  从这开始以下解释一下好吗 看不太懂 谢谢 你运行一下看行吗 我这不方便试
{
max=i;
for(j=i+1;j<10;j++) {if(max<a[j]) max=j;}
if(max!=i) {temp=a[i];a[i]=a[max];a[max]=temp;}
}
printf("max=%d,second max=%d",a[0],a[1]);
}

printf(\"路漫漫其修远兮,吾将上下而求所!\")
2005-04-02 17:42
84531933
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2005-4-2
收藏
得分:0 
用个循环向数组里送数据
然后用冒泡排序,不就可以了
如果是从大到小排序,max=A[0],second max=A[1]
从小到大的,max=A[9],second max=A[8]

2005-04-02 19:34
suifeng
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2005-3-6
收藏
得分:0 
二楼的好像是先对这十个数进行排序然后输出前两个数,那自然就是最大的和次大的了。
2005-04-02 20:23
skycanny
Rank: 1
等 级:新手上路
帖 子:87
专家分:0
注 册:2005-3-5
收藏
得分:0 
#define N 10
#include <stdio.h>
main()
{
 int i, max, sub_max;
 int a[N];
 printf("Please input 10 interges:\n");
 for(i = 0; i < N; i++)
 {
  scanf("%d", &a[i]);
 }
 max = a[0];
 sub_max = a[0];
 for(i =0; i < N; i++)
 {
  if(a[i] > max)
  {
   sub_max = max;
   max = a[i];
  }
 }
 if(sub_max == max)
 {
  printf("There is no sub_max\n");
  printf("max = %d\n", max);
 }
 else
  printf("max = %d, sub_max = %d\n", max, sub_max);
}
2005-04-02 20:54
84531933
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2005-4-2
收藏
得分:0 
????????
2楼的和6楼的怎么我运行了一下,但是结果不对

2005-04-02 21:03
C高手来了。。。
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-4-2
收藏
得分:0 
6楼的对啊。。。
2005-04-02 22:12
84531933
Rank: 1
等 级:新手上路
帖 子:31
专家分:2
注 册:2005-4-2
收藏
得分:0 
6楼的程序,按0-9的录入数,输出的是max=9,sub_max=8,没有错误
但是从9到0的录入,就是There is no sub_max       max=9
而0、1、2、3、4、5、9、8、7、6的录入,max=9,sub_max=5

2005-04-02 22:28
620LCC
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-3-25
收藏
得分:0 
#include <stdio.h> void main() { int a[10],i,j,max,temp; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<2;I++) { max=i; for(j=i+1;j<10;j++) {if(a[max]<a[j]) max=j;} /*我改了一下/* if(max!=i) {temp=a[i];a[i]=a[max];a[max]=temp;} } printf("max=%d,second max=%d",a[0],a[1]); }
二楼主好像只是排了前两个。四五楼的好像说的不对。

2005-04-02 22:43
快速回复:[求助]求数组A[10]中的最大值,次大值。谢谢啊
数据加载中...
 
   



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

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