问答题 请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。 例如, 输入如下整数: 876 675 896 101 301 401 980 431 451 777 则输出结果为: 6, 980 注意: 部分源程序在文件PROG1.C文件中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 给定源程序: #include int fun(int *s, int t, int *k) { } main( ) { int a[10]={876,675,896,101,301,401,980,431,451,777}, k ; fun(a, 10, &k) ; printf("%d, %d/n", k, a[k]) ; NONO( ) ; }
【正确答案】int fun(int *s, int t, int *k) { int i, pos = 0, max = *s ; for(i = 1 ; i < t ; i++) { if(max < *(s + i)) { max = *(s + i) ; pos = i ; } } *k = pos ; }
【答案解析】