标题:救命啊.考试题,各位老兄,大姐救救小虾!
只看楼主
kazu110
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2004-6-9
 问题点数:0 回复次数:9 
救命啊.考试题,各位老兄,大姐救救小虾!

求出a所指数组中最大和次最大数(规定最大数和次最大数不在a[0]和a[1]中),依次和a[0],和a[1]中的数对调

例如数组中原有的数为:7,10,12,0,3,6,9,11,5,8。

输出结果为:12,11,7,0,3,6,9,10,5,8

搜索更多相关主题的帖子: 小虾 大姐 老兄 考试 救命 
2004-06-09 19:13
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
得分:0 

int s[10],first,second,i;

first=2,second=1;

for(i=3;i<10;i++)

if(s[i]>s[first])first=i;

else if(s[i]>s[second])second=i;

i=s[0];s[0]=s[first];s[first]=i;

i=s[1];s[1]=s[second];s[second]=i;


我的主页 http://www.
2004-06-09 19:21
kazu110
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2004-6-9
得分:0 
谢谢,大哥,如果能和我解析一下就最好..麻烦了
2004-06-09 19:34
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
得分:0 

int s[10],first,second,i;

first=2,second=1; //因为最大数不是第一个和第二个,所以我将最大数暂时指向第三个,第二大的要比第一大的小,所以指向第二。

for(i=3;i<10;i++)

if(s[i]>s[first])first=i; //如果后面的有比first还大的,就将first指向他

else if(s[i]>s[second])second=i; //如果你first小但是比second大,就暂时算第二大

i=s[0];s[0]=s[first];s[first]=i; //这里是交换数组元素

i=s[1];s[1]=s[second];s[second]=i;


我的主页 http://www.
2004-06-09 19:41
kazu110
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2004-6-9
得分:0 

老大,不行啊,再帮帮忙好?

2004-06-10 13:21
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
得分:0 

怎么不行?

你把错误贴出来


我的主页 http://www.
2004-06-10 14:22
小蚂蚁
Rank: 1
等 级:新手上路
帖 子:48
专家分:0
注 册:2004-4-14
得分:0 

改为

int s[10],first,second,i;

first=2,second=1;

for(i=3;i<10;i++)

{if(s[i]>s[first])

   {first=i;

    i=s[0];s[0]=s[first];s[first]=i;

    }

   else

    {

     if(s[i]>s[second])

      second=i;

      

      i=s[1];s[1]=s[second];s[second]=i;

     }

  


[c相关下载版主] 任时光匆匆流去, 我只在乎你,心甘情愿感染你的气息.
2004-06-10 15:29
xyx
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2004-6-9
得分:0 
还是不行呢,老大,帮帮手啊,谢谢啦

我是菜鸟我要拼!!!!!
2004-06-11 23:58
jzh2004
Rank: 1
等 级:新手上路
帖 子:341
专家分:0
注 册:2004-4-30
得分:0 

#include <stdio.h> void main() { int s[10]={7,10,12,0,3,6,9,11,5,8},first,second,i;

first=2,second=1;

for(i=3;i<10;i++)

if(s[i]>s[first])first=i;

else if(s[i]>s[second])second=i;

i=s[0];s[0]=s[first];s[first]=i;

i=s[1];s[1]=s[second];s[second]=i; for(i=0;i<10;i++)printf("%d ",s[i]); }

VC6.0下编译通过,结果正确


我的主页 http://www.
2004-06-12 19:03
wangluncbal1
该用户已被删除
得分:0 
提示: 作者被禁止或删除 内容自动屏蔽
2008-06-05 09:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-2252-1-1.html




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

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