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

如题所述

楼主,我的程序如下。函数max读入一个n元素的数组a,返回其中最大元素的地址。这样,在调用max的函数中(这里是main),可以通过两种运算分别得到最大元素的值和它的下标(见main中注释)
#include
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得到的最大元素的值
*/
return
0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-23
下面我用C++来写。
#include
using
namespace
std;
int
max(int
,int);
int
main{
int
n,maxnumber;
cin>>n;
int
v[];
for
(int
i=0;i
>v[i]}
maxnumber=v[0];
for(i=1;i
b?a:b}
注意:其实C++的语言和C基本上一样.
第2个回答  2019-10-18
int
n;//下标值.设为全局变量
int
findmax(int
array[],int
len)
{
int
max;
max=array[0];
for(int
i=1;i
评论
0
0
加载更多
相似回答