使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成空出的函数fun(int a[],int* index),使函数输入n(<100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用

admin2018-10-23  15

问题 使用VC6打开考生文件夹下的源程序文件modi2.cpp。完成空出的函数fun(int a[],int* index),使函数输入n(<100)个整数到指定数组,求该数组中最大元素的值和此元素的下标,最大元素值以函数值返回,此元素的下标通过指针形参带回调用函数。
    要求函数实现以下的功能:
    (1)获得输入的n个整数;
    (2)把最大的数字的下标在第二个参数中输出;
    (3)把最大的数字作为返回值。
    注意:不能修改程序的其他部分,只能修改fun()函数。
1  #include<iostream.h>
2  #define MAXLINE  100
3  int fun(int a(1,int *index)
4  {
5
6  }
7  void main()
8  {
9    int A[MAXLINE];
10    int index;
11    int maxdata;
12    maxdata=fun(A,&index);
13    cout<<’’the max data is:’’<<maxdata<<’’ ’’<<’’the posion is:’’<<index<<end1;
14    return;
15  }

选项

答案1 int 1,n; 2 do //输入数组的大小 3 { 4 cout<<’’Please input n\n’’; 5 cin>>n; 6 } while(n>99); 7 cout<<’’Please input a[n]\n’’; 8 for(i=0;i<n;i++)//输入数组中元素的值 9 { 10 cin>>a[i]; 11 } 12 *index=0; //元素下标值初始化 13 for(i=1;i<n;i++)//循环找出最大值 14 { 15 if(a[*index]<a[i]) 16 *index=i;//记录比较大元素的下标 17 } 18 return a[*index]; //返回最大的元素值,其中index为最大值的下标

解析 (1)该程序功能是求数组中最大元素的值和此元素的下标。它的解题思路,初始化记录下标变量为0,指向数组第一个元素,逐个把所有元素和标记字符进行比较,并将大值的下标赋值给记录下标变量,从而找出最大值。
    (2)从己给部分源程序的main主函数开始入手,核心函数int fun(int a[],int *index)中的a参数为输入的数组,其中index为记录最大值下标变量。
    (3)首先输入数组大小,然后利用循环输入数组元素。
    (4)利用for循环对每一个当前数组元素与index标记的元素进行大小比较。
    (5)循环中将求得的最大数据a的下标标志位赋给标志位index。
转载请注明原文地址:https://kaotiyun.com/show/YwAp777K
0

最新回复(0)