请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。

admin2013-03-29  26

问题 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。
    主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
  注意:部分源程序存在文件PROGl.C文件中。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
#include
void fun(int a[]fint n,int*max,int *d)
{
}
main()
{  int i,x[20],max,index,n=10;void NONO();
  for(i=0;i=rand()%50;printf("%4d",x);}
  printf("\n");
  fun(x,n,&max,&index);
  printf("Max=%5d,Index=%4d\n",max,index);
  NONO();
}
void NONO()
{/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/
  FILE*fp,*wf;
  int i,x[20],max,index,n=10,j;
  fp=fopen("in.dat","r");
  wf=fopen("out.dat","w");
  for(i=0;i<10;i++){
    for(j=0 j j  (fp,  "%d,",  &x[j]);
    fun(x,n,&max,&index);
    fprintf(wf,"Max=%d,Index=d%\n",max,index);
  }
  fclose(fp);
  fclose(wf);
}

选项

答案int 1; *max=a[0];*d=0;/*把数组的第1个元 素值赋值给最大值变量*max*/ for(i=1;i
解析 进入fun函数,根据前面的分析:
    (1)*max指针变量首先指向数组a的第一个数据,同时将标志位*d初始值赋为0。
    (2)然后利用for循环对每一个当前数组数据与max标记的数据进行比较。
    (3)循环中将求得的最大数据a赋值给*msx,并将该数据项数组标志位赋给标志位*d。
转载请注明原文地址:https://kaotiyun.com/show/UWJp777K
0

最新回复(0)