问答题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成空出的函数fun(int a[],int*index),使函数输入n(<100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用函数。 要求函数实现以下的功能: (1)获得输入的n个整数: (2)把最大的数字的下标在第二个参数中输出; (3)把最大的数字作为返回值。 注意:不能修改程序的其他部分,只能修改tun()函数。 #include #defime MAXLINE 100 int fun(int a[],int*index) { } void main() { int A[MAXLINE]; int index; int maxdata; maxdata=fun(A,&index); cout<<“the max data iS:”<< maxdata<<“”<<”the posion is:”<< index<
【正确答案】正确答案:int 1 i n; do //输入数组的大小 { cout<<“PleaSe input n\n”; cin>>n; }while(n>99); cout<<“Please input a[n]\n”; for(i=0;i<n;i++) //输入数组中元素的值 { cin>>a[i]; } *index=0; //元素下标值初始化 for(i=1;i<n;i++) //循环找出最大值 { if(a[*index]<a[i]) *index=i; //记录比较大元素的下标 } return a[*index]; //返回最大的元素值,其中index为最大值的下标
【答案解析】解析:(1)该程序功能是求数组中最大元素的值和此元素的下标。它的解题思路,初始化记录下标变量为0,指向数组第一个元素,逐个把所有元素和标记字符进行比较,并将大值的下标赋值给记录下标变量,从而找出最大值。 (2)从已给部分源程序的main主函数开始入手,核心函数int fun(int a[]*int*index)中的a参数为输入的数组,其中index为记录最大值下标变量。