题目描述
写函数void search(int *num,int n,int *nmax,int nmaxindex)实现在含n个
元素的数组num中查找最大值及其第一次出现下标,分别通过指针nmax,nmaxindex返回。 写函数void input(intnum,int n),输入数组num的n个数。
主函数输入数据,调用input, search, 输出最大值及其第一次出现下标。 不可以在主函数中计算。输入
测试次数t 每组测试数据一行: 数据个数n(n>1) n个整数
输出
每组测试数据输出一行: 数组最大值 数组最大值第一次出现下标(下标从0开始)
样例输入
2
10 1 2 3 4 5 6 7 8 9 -10
20 9 10 20 40 50 999999 -99 999998 0 9 20 11 12 432 53 3421 6 42 43 34样例输出
9 8
999999 5
#include<bits/stdc++.h>
using namespace std;
void search(int *num,int n,int *nmax,int *nmaxindex)
{
int i=*(num+0);
for(int j=0;j<n;j++)
{
if(*(num+j)>i)
{
i=*(num+j);
*nmax=i;
*nmaxindex=j;
}
}
}
void input(int *num,int n)
{
for(int i=0;i<n;i++)
{
cin>>*(num+i);
}
}
int main()
{
int t;
cin>>t;
while(t--)
{
int n;
cin>>n;
int *p=new int [n];
input(p,n);
int *nmax=p+0;
int a=0;
int *nmaxindex=&a;
search(p,n,nmax,nmaxindex);
cout << *nmax << " " << *nmaxindex << endl;
}
return 0;
}