请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 注意:部分源程序给出

admin2017-09-23  32

问题 请编写函数fun,其功能是:找出一维整型数组元素中最大的值及其所在的下标,并通过形参传回。数组元素中的值已在主函数中赋予。
    主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
    注意:部分源程序给出如下。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
    试题程序:
#include  < time .h >
#include  < stdlib.h >
#include  < stdio.h >
void fun (int a[],int n.  int *
max,  int  * d)
{

}
void main ()
{
   int i, x[20], max, index, n =10;
     srand ((unsigned) time (NULL》 ;
          {
              x = rand () % 50;
           printf ("% 4d",x) ;
                   / * 输出一个随机数组 * /
          }
      printf ("\n") ;
        fun (x,n, &max f &index) ;
       printf ("Max =% 5d, Index
= % 4d\n", max,index) ;
}

选项

答案void fun (int a[],int n, int* max,int *d) { int i; *max=a[0]; *d=0; for(i=1;i < n;i++)/*将最大的元素放入指针max所指的单元,最大元素的下标放入指针d所指的单元*/ if(*max < a[i]) {*max=a[i];*d=i;} }

解析 查找最大值及其下标需要定义两个变量,该程序直接使用形参max和d,由于它们都是指针变量,所以在引用它所指向的变量时要对它进行指针运算。循环语句用来遍历数组元素,条件语句用来判断该数组元素是否最大。
转载请注明原文地址:https://jikaoti.com/ti/5ea0FFFM
0

最新回复(0)