以下程序找出二维数组a中每行的最大值,并按一一对应的顺序放人一维数组s中。即:第零行中的最大值,
第1题
以下程序中,fun()函数的功能是求3行4列二维数组每行元素中的最大值,请填空。 void fun(int,int,int(*)[4],int*); main() { int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,b); for(i=0;i<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int *br) { int i,j,x; for(i=0;i<m;i++) { x=ar[i][0]; for(j=0;j<n;j++) if(x<ar[i][j])x=ar[i][j]; ______=x; } }
第2题
以下程序中,fun函数的功能是求3行4列二维数组每行元素的最大值。请填空。 void fun(int,int,int (*)[4], int *); main() { int a[3][4]={{12,41,36,28},{19,33,15,27),{3,27,19,1}},b[3],i; fun(3,4,a,B) ; for(i=0;i<3;i++)printf("%4d",b[i]); printf("\n"); } void fun(int m,int n,int ar[][4],int *br) { int i,j,x; for(i=0;i<m;i++) { x=ar[i][0]; for(i=0;j<n;j++) if(x<ar[i][j]) x=ar[i][j]; ______=X; } }
第3题
以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值,请填空。
#defineN 3
#defineM 4
void LineMax(int x[N][M])
{
int i,j,p;
for(i=0;i<N;i++)
{
p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j])______;
printf("The max value in line%d is%d\n",i,x[i][p]);
}
}
main()
{
int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
______;
}
第4题
第5题
第6题
#define N 3
#define M 3
select(int a[N][M],int *n)
(int i,j,row=1,colum=1;
for(i=0;i<N:i++)
for(j=0;j<M; j++)
if(a[i][j]>a[row][colum]){row=i;colum=j;}
*n=______;
return______:
}
main()
{
int a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n):
printf("max=%d,line=%d\n",max,n);
}
第8题
以下程序调用随机函数得到N个20以内的整数放在s数组中。函数fun的功能是找出s数组中的最大数(不止一个)所在下标传回主函数进行输出,并把最大值作为函数值返回,请填空。 define N 30 man() { int s[N],d[N],i,k,m; for(i=0,i<N;i++){s[i]=rand()%20;printf("%3d",s[i]);} m=fun(【 】); printf("m=%d\n",m); printf(”The index ;\n"); for(i=0;i<k;i++)printf("%4d",d[i]); printf("\n\n"); } fun(int*w,int*d,int * k) { int i,j,m=0,v; for(i=0;i<N;i++) if(w[i]>w[m])【 】; v=w[m]; for(i=0,j=0;i<N;i++) if(w[i]==v)【 】; *k=【 】; return【 】; }
第9题
A.释放动态二维数组时,应该先释放每行的空间,然后再释放指针数组
B.释放动态二维数组时,可以按照任意的顺序释放动态分配的所有空间
C.动态创建的二维数组不能进行初始化操作
D.动态二维数组的每一行不一定是连在一起的
第10题