C有一个3*4的矩阵,要求编写求这个二维数组中最大的那个元素的值:

2024-11-28 16:25:03
推荐回答(4个)
回答1:

#include
#include
#include
int main()
{
int **p,i,j;
int m=3,n=4;
printf("输入行数,列数:");
scanf("%d%d",&m,&n);
p=(int**)malloc(m*sizeof (int));
if (p==NULL)
{
printf("error");
return -1;
}
for(i=0;i {
p[i]=(int*)malloc(n*sizeof (int));
if(p[i]==NULL)
{
printf("error");
return-1;
} }
for(i=0;i for(j=0;j {
//p[i][j]=i*n+j;
scanf("%d",&p[i][j]);
}
printf("输入矩阵为:\n");
for(i=0;i {
for(j=0;j {
printf("%d\t",p[i][j]);
}
printf("\n");
}
int max=p[0][0],col,arr;
for(i=0;i for(j=0;j {
if(max {
max=p[i][j];
col=j;
arr=i;
}
}
printf("最大数为:\n");
printf("%d 行数为 %d 列数为 %d\n",max,arr,col); for(i=0;i {
free(p[i]);
p[i]=NULL;
}
free(p);
p=NULL;

回答2:

程序代码: #incldue int [3][4]={{1,2,3,4},{45,1,2,3},{0,56,3,2}};
int a[3]={0};//记录最大数的值a[0]和位置a[1]、a[2]
for(int i=0;i<3;i++)
{
for(int j=0;j<4;j++)
if(a[0] }
printf("Max:%d,position:%d,%d\n",a[0],a[1],a[2]);}程序运行结果:

回答3:

#includeint main(){int c[3][4]={};//初始化自己做int low,column;int max=c[0][0];for(int i=0;i<3;i++){for(int j=0;j<4;j++){if(c[i][j]>max){max=c[i][j];row=i;cloumn=j;}}}printf("The maximum number is c[%d][%d]=%d\n.",max,i,j);return 0;}

回答4:

分别求每一行的最大值,再求这些值的最大值.每个值都有行号和序号,把它们设成变量就行了.