求C语言程序。指错题目:一维数组a中的元素为:1,4,2,7,3,12,5,34,5,9。求一维数组a中的最大元素及其下标

#include<stdio.h>
int max(N[],int n);
int main()
{
int N[10]={1,4,2,7,3,12,5,34,5,9};int pos;int *p;
p=N;
max(p,10);
printf("The max is:%d,position is:%d\n",N[pos],pos);
return 0;
}

int max(N[],int n)
{
int pos=0;
for(int n=1;n<10;n++)
if(N[n]>N[pos]) pos=n;
return(pos);
}
我不知道怎么改。。。已经改了很多次了。。不知哪里错了。求大神帮帮忙。
求C语言程序指错。

第1个回答  2016-11-27
吥是这样写的,你的for循环就有问题,然后if判断也有问题,然后你返回去的值没有赋值,好多问题,多看看书吧追问

好的,谢谢建议。不过可以说说"返回去的值没有赋值"是什么意思吗?pos经过for循环下来不就是最大元素的下标吗?

追答

你应该从0下标开始循环,然后比对 pos的值和数组N中每一个值,如果大的就把N中的那个值赋值给pos,然后返回pos就可以了,好好想想

追问

这里的pos是用来存数组中最大元素的下标的。不可以吗?

这里的pos是用来存数组中最大元素的下标的。不可以吗?

本回答被提问者和网友采纳
相似回答