用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其下标。

来源:百度知道 编辑:UC知道 时间:2024/05/18 02:16:31
用C语言编程.写出一函数,求出有N个元素的整数数组的最大值及其下标。

int n;//下标值.设为全局变量
int findmax(int array[],int len)
{
int max;
max=array[0];
for(int i=1;i<len;i++)
{
if(max<array[i]
{
max=array[i];
n=i;
}
}
return max;
}

楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)

#include <stdio.h>

int *
max(int * a, int n)
{
int i;
int * p = a;

for ( i = 0; i < n; i++ )
if ( a[i] > *p )
p = a+i;
return p;
}

int
main(void)
{
int a[10];
int i;
int * ans;

printf( "Please input ten integers:\n" );
for ( i = 0; i < 10; i++ )
scanf( "%d", a+i );
ans = max(a, 10); /* ans中现在存的是数组a中最大元素的地址 */
printf( "The index is %d, the max is %d\n", ans-a, *ans );
/* ans-a求得的是最大元素的下标, *ans得到的最大元素的值 */