3098 - 【设计型】第9章: 指针 9.15 谁是最大的(1)

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

从键盘上输入10个数据到一维数组中,然后找出数组中的最大值和该值所在的元素下标。
要求调用子函数search(int pa,int n,int pmax,int *pflag)完成,数组名作为实参,
指针作为形参,最大值和下标在形参中以指针的形式返回。

题目输入

十个整数。中间用空格隔开。

题目输出

两行数据样例见下。

输入/输出样例

输入格式

1 2 3 4 56 6 7 8 9 10

输出格式

Max is:56
Max position is:4

C语言解答

#include <stdio.h>
int search(int *pa,int n,int *pmax,int *pflag);
int main()
{
	int a[10],i,max,flag,pmax;
	for(i=0;i<10;i++)
		scanf("%d",&a[i]);

	pmax=search(a,10,&max,&flag);

	printf("Max is:%d\n",max);
	printf("Max position is:%d",flag);
}
int search(int *pa,int n,int *pmax,int *pflag)
{
	int i,*max;
	max=pmax;
	*pmax=pa[0];
	for(i=1;i<n;i++)
	{
		if(*pmax<pa[i])
		{
			*pmax=pa[i];
			*pflag=i;
		}
	}
	return *max;
}