编程题 请编写一个函数int fun(int*s,int t,int*k),用来求出数组的最大元素在数组中的下标并存放在k所指的存储单位中。
例如,输入如下整数:
876 675 896 101 301 401 980 431 451 777
则输出结果为:6,980。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序: # include <conio.h>
# include <stdio.h>
void fun(int *s, int t , int *k)
{
}
main( )
{
int a[10]={876,675,896,101,301,401,980,431,451,777}, k ;
FILE *out;
fun(a,10,&k);
printf("%d, %d\n", k, a[k]);
out = fopen("out.dat", "w");
fprintf(out, "%d\n%d", k, a[k]);
fclose(out);
}
答案是: void fun (int *s,int t,int *k)
{
int I ,max;
max=s[0];
for(i=0;i<t:i++)
if(s[i]>max)
{
max=s[i];
*k=I;
}
}