| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4389 人关注过本帖
标题:求数组中的最大元素
只看楼主 加入收藏
地狱天使79
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2012-5-8
结帖率:37.5%
收藏
已结贴  问题点数:14 回复次数:17 
求数组中的最大元素
要求编一个函数,计算数组中的最大元素和其下标。做了半天
也没解出来,哪位大侠提供一下思路。
搜索更多相关主题的帖子: 计算 元素 
2012-06-05 14:20
爱闹的娃
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:265
专家分:975
注 册:2011-10-23
收藏
得分:1 
将数组中的数进行比较就行啊.....也不复杂,自己要试着去写,不要怕错....我简单的写了一个你参考参考...
程序代码:
#include "stdio.h"
#define MAX 10//假设有这么多个数
int main()
{
    int a[MAX],i,k,max;
    for(i=0;i<10;i++)
    {    
        scanf("%d",&k);
        a[i]=k;
    }
    max=a[0];
    for(i=0;i<10;i++)
    {
       if(a[i]>=max)
       {
            max=a[i];
            k=i;       
       }

    
    
    }
    printf("这个数组的最大数为:%d\n",max);
    printf("它的下标为:%d\n",k);

return 0;

}
2012-06-05 14:59
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:1 
这个只要稍稍动脑就能想出来

总有那身价贱的人给作业贴回复完整的代码
2012-06-05 15:14
地狱天使79
Rank: 2
等 级:论坛游民
帖 子:21
专家分:15
注 册:2012-5-8
收藏
得分:0 
我想复杂了。我把10个数逐一进行排序比较,就做不出来了。
2012-06-05 15:48
qq383264679
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:155
专家分:130
注 册:2012-1-19
收藏
得分:1 
莫非你想用泡沫排序法?
2012-06-06 09:02
一滴血
Rank: 1
等 级:新手上路
帖 子:11
专家分:8
注 册:2012-6-5
收藏
得分:1 
#include<stdio.h>
int main()
{
    int a[10];
    int i,j,t;
    printf("input 10 numbers:\n");
    for(i=0;i<10;i++)
    scanf("%d",&a[i]);
    printf("\n");
    for(j=0;i<9;j++)
        for(j=0;i<9-j;i++)
        if(a[i]>a[i+1])
            {t=a[i];a[i]=a[i+1];a[i+1]=t:}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
    printf("%d",a[i]);
printf("\n");
return 0;
}
2012-06-06 09:28
wuyanyouqing
Rank: 2
等 级:论坛游民
帖 子:14
专家分:26
注 册:2011-4-17
收藏
得分:0 
#include <stdio.h>
int main()
{
    int a[10];
    int i,j,t;
    printf("please input 10 mumbers:\n");
    for(i=1;i<=10;i++)
    scanf("%d",&a[i]);/*循环赋值*/
    printf("\n");

    for(j=1;j<=9;j++)  /*一次中所有元素两两互相比较,二次中所有元素两两互相比较,,,,9次中所有元素两两互相比较*/

        for(i=1;i<n-j;i++)/*l0个数相比较,第一次循环比较10-1次,第二次循环比较10-2次’第j次循环比较10-j次,才能让最小的数到达最头处*/
            if(a[i]>a[i+1])
            {t=a[i];a[i]=a[i+1];a[i+1]=t:}
            printf("the sorted numbers:\n");
    for(i=0;i<10;i++)
        printf("%d",a[i]);
    printf("\n");
return 0;


}


   
2012-06-07 13:26
会分手的空气
Rank: 2
来 自:湖北孝感
等 级:论坛游民
帖 子:26
专家分:32
注 册:2012-3-30
收藏
得分:1 
使用快速排序时间复杂度更高.算法效率高.自己想想.编程就是的多想
2012-06-07 15:55
Ayiis
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:2
帖 子:1086
专家分:3063
注 册:2011-4-10
收藏
得分:1 
程序代码:
#include<stdio.h>
void main(){
    int a[10],c,i;

    for(i=0;i<10;i++)
    scanf("%d",&a[i]);

    for(i=c=0;i<10;i++)
        c=a[i]>a[c]?i:c;

    printf("最大数为:%d\t它的下标为:%d\n",a[c],c);
}

结贴

  • 该单位
  • 正在被拖走
2012-06-07 16:28
zhurou
Rank: 2
等 级:论坛游民
帖 子:3
专家分:12
注 册:2011-3-5
收藏
得分:1 
是排序不是求最值啊!
2012-06-07 16:35
快速回复:求数组中的最大元素
数据加载中...
 
   



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

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