有一个3 × 4的矩阵,求其中的最大元素的值.

我的问题在于不知道怎么输入12个数字,然后赋值给矩阵
2025-03-19 06:50:37
推荐回答(5个)
回答1:

这12个数可以输入使用空格或者回车进行分割,根据你的代码,保存位置依次为

a[0][0], a[0][1], a[0][2]

a[1][0], a[1][1], a[1][2]

a[2][0], a[2][1], a[2][2]

a[3][0], a[3][1], a[3][2]

输入示例

回答2:

#include
int main()
{
int i,j,a[3][4],max;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
max=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
if(max max=a[i][j];
}
printf("最大值为:%d\n",max);
return 0;

}
程序没什么问题,输入矩阵的时候,数与数之间用了逗号分隔,应该用空格分隔。
另外,判断当前元素a[i][j]大于max的时候,除了把当前元素赋给max,后面多了两句,i=i,j=j,没必要,当然不影响最终结果。

回答3:

你程序里面上面两个for循环就是用来输入的,scanf函数,运行以后直接在屏幕上输入你要的数字就行,中间用空格隔开,最后输完价格回车键就赋值给矩阵了
还有你的scanf,后面不要加&,我记得好像数组元素不要加取值符

回答4:

比如要比较1,2,3,4.。。12
1回车2回车3回车4回车。。。。12回车

还有在scanf(“%d\n”,a[i][j]);

回答5:

#include

const int M = 3;
const int N = 4;

int main() {
int a[M][N],i,j,imax,jmax;
printf("请输入 %d X %d 个整数:\n",M,N);
for(i = 0; i < M; ++i)
for(j = 0; j < N; ++j)
scanf("%d",&a[i][j]);
imax = jmax = 0;
for(i = 0; i < M; ++i) {
for(j = 0; j < N; ++j) {
if(a[i][j] > a[imax][jmax]) {
imax = i;
jmax = j;
}
}
}
printf("最大值为:a[%d][%d] = %d\n",imax,jmax,a[imax][jmax]);
return 0;
}