●试题四 【说明】 下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标
●试题四
【说明】
下面程序的功能是:在含有10个元素的数组中查找最大数,及最大数所在位置(即下标值),最大数可能不止一个。
例如:若输入
2857848328
则应输出
The max:8
Total:4∥最大数出现次数
The positions:1469
【函数】
#include<stdio.h>
#define M 10
int fun(int*a,int*n,int pos[])
{
int i,k max=-32767;
(1)
for(i=0;i<M;i++)
if( (2) )max=a[i];
for(i=0;i<M;i++)
if( (3) )pos[k++]=i;
*n=k;
return max;
}
main()
{
int a[M],pos[M],i=0,j,n;
printf("Enter 10 number:");
for(i=0;i<M;i++)scanf("%d", (4) );
j=fun( (5) );
printf("The max:%d\n",j);
printf("Total:%d",n);
printf("The position:");
for(i=0;i<n;i++)printf("%4d",pos[i]);
printf("\n");
}
正确答案:●试题四【答案】(1)k=0(2)a[i]>max(3)a[i]=max(4)a+i或&a[i](5)a,&n,pos【解析】先分析(4)、(5)空。(4)空所在语句是从键盘中读入数据并存放在数组a[]之中,循环变量为I。(4)空处应填写存放地址,循环变量有两种表示方法,一种是"a+i",另一种是"&a[i]"。(5)空处需要填写调用函数fun()的实参,从函数fun()的形参可以看出,第1个参数是要处理的数组a[],第2个参数要返回的最大元素的个数n,第3个参数最大元素的下标数组p
词条内容仅供参考,如果您需要解决具体问题
(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
