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

admin2017-11-27  29

问题   请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
  例如,输入如下整数:876 675 896 101 301 401 980 431 451 777
  则输出结果为:6,980
  注意:部分源程序在文件PROGI.C文件中。
  请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include
void fun(int *s, int t, int *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
解析 (1)该程序功能是求最大元素在数组中的下标。它的解题思路是,用最大值变量max标记第一个待找数据,逐个把所有待找数据和max进行比较,并用pos标记其当前最大值所在位置,从而找出最大值。
    (2)从已给部分源程序的main主函数开始入手,核心函数“fun(a,10,&k);”中的参数a存放着给出的整数,fun函数实现查找最大元素的下标。
转载请注明原文地址:https://kaotiyun.com/show/Snxp777K
0

最新回复(0)