●试题四
【说明】
下面程序的功能是:在含有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题:
第2题:
3、有程序段: int a[10], i; for(i=1; i<=10; i++) scanf("%d", &a[i]); 则以下说法正确的是()。
A.该程序段的功能是从键盘接收10个数赋值给数组各元素
B.该程序段的功能是输出10个数组元素
C.该程序段运行将会出现错误,因为数组a的下标应从0到9,而循环中数组下标从1到10,会发生数组下标越界问题
D.该程序段只能给数组a中从1到9的9个元素赋值
第3题:
8、将一个三对角矩阵A[100][100]中的元素按行存储在一维数组B[298]中,矩阵A中的元素A[55][56]在数组B中的下标为()。 (说明:矩阵及数组的下标均从0开始)
A.164
B.165
C.166
D.167
第4题:
编写程序求含有N个元素一维数组的最大值、最小值及它们的下标。要求:数组元素的输入、求最大值最小值及它们的下标通过函数实现,结果在主函数中输出。
第5题:
将一个三对角矩阵A[100][100]中的元素按行存储在一维数组B[298]中,矩阵A中的元素A[55][56]在数组B中的下标为()。 (说明:矩阵及数组的下标均从0开始)
A.164
B.165
C.166
D.167