请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如,输入如下整数:876 675 896 101 301 401 980431 451 777 则输出结果为:6,980 注意:部分源程序在文

admin2020-10-26  31

问题 请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
    例如,输入如下整数:876 675 896 101 301 401 980431 451 777
    则输出结果为:6,980
    注意:部分源程序在文件PROG1.C文件中。
    请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(int*s,int t,*nt*k)
{
}
main()
{
    int a[10]={876,675,896,101,301,401,980,431,451,777},k;void NONO();
    fun(a,10,&k);
    printf("%d,  %d\n",  k,  a[k]);
    NONO();
}
void NONO()
{/*本函数用于打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/
  int a[10],i,k,j;
  FILE *rf,*wf;
  rf=fopen("in.dat","r");
  wf=fopen("out.dat","w");
  for(i=0;i<10;i++)  {
    for(j=0;j<10 ; j++)fscanf
(rf,  "%d",  &a[j]);
    fun(a,10,&k);
    fprintf(wf,"%d,%d\n",k,a[k]);
    }
    fclose(rf);
    fclose(wf);
  }

选项

答案int i,pos=0,max=*s; for(i=1; i
解析 进入fun函数,根据前面的分析:
    函数fun中形参“*s”为指针变量,与主函数中的a相对应;t的实参值为10;形参“*k”为指针变量对应k的值。
    首先,min赋值给数组s的第一个元素,通过“for(i=1;i    本题考点是函数用指针参数返回值。
转载请注明原文地址:https://kaotiyun.com/show/Nt3p777K
0

最新回复(0)