函数之数组最大值问题

试题描述

   编写形如int fun(int arr[], int t)的函数,形参t为数组元素个数。该函数寻找并返回数组最大值的位置下标;如果最大值有多个,则输出第一个最大值的位置下标。 
   在主函数main()中定义一维整型数组x,输入数组元素个数N,并且依据如下公式给数组各个元素赋值:
   x[i] = N * sin(i * 0.16)
   然后调用函数fun(int[], int),并将数组名x和整数N作为该函数的实参传入;函数调用完毕后输出该函数的返回值。

输入

   输入一个整数N(0 < N < 1000)。

输出

   按照题目要求输出。

输入示例

   50

输出示例

   9

数据范围

   输入和输出均为int范围的整数,对于100%的数据,0 < N < 1000

参考代码

#include<stdio.h>
#include<math.h>
int fun(int arr[], int t)
{
	int max=arr[t-1],maxi=t-1;
	for(int i=t-2;i>=0;i--)
		if(arr[i]>=max)
		{
			max=arr[i];
			maxi=i;
		}
	return maxi;
}


int main()
{
	int N,a[1000];
	scanf("%d",&N);
	for(int i=0;i<N;i++)
	{
		a[i] = N * sin(i * 0.16);
	}
	printf("%d",fun(a,N));
	return 0;
}
Code language: PHP (php)

留下评论