题目描述
写函数void search(int *num,int n,int *nmax,int *nmaxindex)实现在含n各元素的数组num中查找最大值及其第一次出现下标,分别通过指针nmax,nmaxindex返回。
写函数void input(int *num,int n),输入数组num的n个数。
主函数输入数据,调用input, search, 输出最大值及其第一次出现下标。
不可以在主函数中计算。
输入
测试次数t
每组测试数据一行: 数据个数n(n>1) n个整数
输出
每组测试数据输出一行:
数组最大值 数组最大值第一次出现下标(下标从0开始)
输入样例1
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
输出样例1
9 8
999999 5
#include<iostream>
#include<iomanip>
using namespace std;
void search(int *num,int n,int *nmax,int *nmaxindex)
{
*nmax =0;
*nmaxindex = 0;
for(int i=0;i<n;i++)
{
if(num[i] > *nmax)
{
*nmax = num[i];
*nmaxindex = i;
}
}
}
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,nmax,nmaxindex;
cin >> n;
int *p = new int[n];
input(p,n);
search(p,n,&nmax,&nmaxindex);
cout<<nmax<<" "<<nmaxindex<<endl;
delete []p;
}
return 0;
}