请编写一个函数fun,它的功能是:找出一堆整型数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值己在主函数中赋予。
主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。
注意部分源程序存在文件PROG1.C 文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
/**********code.c**********/
#include
#include
void fun(int a[], int n , int *max, int *d )
{
}
void main()
{
int i, x[20], max , index, n = 10; void NONO ();
for (i=0;i < n;i++)
{
x[i] = rand()%50;
printf("%4d", x[i]) ;
}
printf("\n");
fun( x, n , &max, &index);
printf("Max =%5d , Index =%4d\n",max, index );
NONO();
}
void NONO ()
{ /* 请在此函数内打开文件,输入测试数据,调用 fun 函数,输出数据,关闭文件。 */
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 < n ; j++) fscanf(fp, "%d,", &x[j]) ;
fun( x, n , &max, &index);
fprintf(wf, "Max=%d,Index=%d\n", max, index) ;
}
fclose(fp) ;
fclose(wf) ;
}
/**********-code.c**********/
/**********indat**********/
40,45,39,18,0,13,25,46,12,2
19,22,15,34,33,7,36,25,43,38
44,31,45,31,22,9,19,6,28,23
16,42,30,9,22,0,28,4,39,4
20,30,15,15,39,43,14,2,17,43
45,38,19,12,48,48,32,4,36,47
29,25,43,26,26,3,43,39,16,20
29,0,46,33,44,46,40,42,15,21
45,28,11,39,10,25,11,46,5,39
19,25,44,21,21,30,6,13,5,15
/**********-indat**********/
/**********outdat**********/
Max=46,Index=7
Max=43,Index=8
Max=45,Index=2
Max=42,Index=1
Max=43,Index=5
Max=48,Index=4
Max=43,Index=2
Max=46,Index=2
Max=46,Index=7
Max=44,Index=2
/**********-outdat**********/