5.编程,输入一个n行m列(n<=4,m<=4)的数组,先以n行m列的格式输出该数组,然后找出该数

#include<stdio.h>
int main()
{
int m,n,a[4][4],min,j,i;
min=a[0][0];
printf("输入m,n的值\n");
scanf("%d,%d",&m,&n);
scanf("a[n][m]={%d%d%d%d},{%d%d%d%d},{%d%d%d%d},{%d%d%d%d}");
for(i=0;i<=n;i++)
for(j=0;j<=m;j++);
if(a[i][j]<min)
{
min=a[i][j];
}
printf("min=%d",min);
printf("i=%d,j=%d",a[i][j]);
}
哪里错了啊

int m,n,a[4][4],min,j,i;

printf("输入m,n的值:");

scanf("%d,%d",&m,&n);

printf("输入%d个元素: ",m*n);

for(i=0;i<n;i++)

for(j=0;j<m;j++)

scanf("%d",&a[i][j]);

min=a[0][0];

for(i=0;i<n;i++)

for(j=0;j<m;j++)

if(a[i][j]<min)

{

min=a[i][j];

}

printf("输出这个二维数组的各元素为:\n");

for(i=0;i<n;i++)

{

for(j=0;j<m;j++)

{

printf("%d  ",a[i][j]);

}

printf("\n");

}

printf("min=%d\n",min);

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-02
你的代码连算法都算不上,离程序实现较远,以下是按照你的写法编写的,请认真参考:
#include<stdio.h>
int main()
{
int m,n,a[40][40];
int min,j,i,s,t,flag=0;
printf("输入m和n的值:\n");
scanf("%d%d",&m,&n);
printf("依次输入%dx%d矩阵的所有元素:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++){
scanf("%d", &(a[i][j]));
if(flag==0){
min=a[0][0];
s=t=0;
}else if(min>a[i][j]){
min=a[i][j];
s=i;
t=j;
}
flag=1;
}
printf("min=%d\n",min);
printf("位置在i=%d,j=%d",s+1,t+1);
}本回答被网友采纳
第2个回答  2018-11-02
你用跟踪的方式来调试,看看,
第二个scanf是给数组数值的么,
比如行、列是4,那么可用的是0,1,2,3,没有4。
第3个回答  2018-11-02
要找的数的位置呢?
第4个回答  2018-11-02
你的代码连算法都算不上,离程序实现较远,以下是按照你的写法编写的,请认真参考:
#include<stdio.h>
int main()
{
int m,n,a[40][40];
int min,j,i,s,t,flag=0;
printf("输入m和n的值:\n");
scanf("%d%d",&m,&n);
printf("依次输入%dx%d矩阵的所有元素:\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++){
scanf("%d", &(a[i][j]));
if(flag==0){
min=a[0][0];
s=t=0;
}else if(min>a[i][j]){
min=a[i][j];
s=i;
t=j;
}
flag=1;
}
printf("min=%d\n",min);
printf("位置在i=%d,j=%d",s+1,t+1);
}本回答被网友采纳
第5个回答  2018-11-02
你用跟踪的方式来调试,看看,
第二个scanf是给数组数值的么,
比如行、列是4,那么可用的是0,1,2,3,没有4。
第6个回答  2018-11-02
要找的数的位置呢?
相似回答
大家正在搜