首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

有五个数组,有什么简单的方法可以求他们中最大的元素

2012-08-02 
有5个数组,有什么简单的方法可以求他们中最大的元素有5个数组,有什么简单的方法可以求他们中最大的元素,并

有5个数组,有什么简单的方法可以求他们中最大的元素
有5个数组,有什么简单的方法可以求他们中最大的元素,并打印出最大的元素位于哪个数组中的哪个位置。

[解决办法]
可以。肯定是要遍历所有的元素后才知道最大值的。
[解决办法]
仅供参考。

C/C++ code
#include <stdio.h>#define sz(a) sizeof(a)/sizeof(*a)int max(int a[],int* pos,int size)//pos为输出参数,带出最大值的位置{    int i,max=0;    for(i=1;i<size;i++)    {        if(a[i]>a[max])        {            max=i;        }    }    *pos=max;    return a[max];}int main(void){    int arr1[5]={1,3,5,2,4};    int arr2[3]={11,23,45};    int arr3[3]={33,99,88};    int arr4[3]={-11,20,30};    int arr5[4]={100,40,60,90};            int i;    int* arrptr[5]={arr1,arr2,arr3,arr4,arr5};//保存每个数组的首地址    int size[5]={sz(arr1),sz(arr2),sz(arr3),sz(arr4),sz(arr5)};//保存每个数组大小    int maxPos[5]={0};//保存每个数组最大值的位置    int resPos=0;//保存最后求出的所有数组中的最大值所在的位置    int maxValue=arr1[0];//初始化最大值    int maxArr=1;//初始化包含最大值的数组    for(i=0;i<5;i++)    {        int temp=max(arrptr[i],&maxPos[i],size[i]);        if(temp>maxValue)        {            maxValue=temp;            maxArr=i+1;            resPos=maxPos[i]+1;        }    }    printf("最大的数值是%d,它在第%d个数组的第%d个位置\n",maxValue,maxArr,resPos);    getchar();    return 0;}
[解决办法]
每个数组快排,比较5 个最大值(快排第6个数组)
[解决办法]
遍历一遍,记录下最大的所在以及位置就可以了
[解决办法]
遍历一下,记下最大值就行了
[解决办法]
遍历一遍,不就行了?
[解决办法]
先写在一个大的数组中,然后遍历一次
[解决办法]
无论什么方法,都至少需要遍历一次。
[解决办法]
遍历吧
如果要找出最大,第二大,第三大……的话,那就快排……

热点排行
Bad Request.