有一个3×4的矩阵,要求输出其中值最小的元素的值,以及它的行号和列号

拜托大神看看我这个程序哪里出毛病了,把a[i][j]<min改成a[i][j]>min就变成求最大值了,坐标也正确。。。但是a[i][j]<min的话,最小值是正确的,但是坐标不正确。。
#include<stdio.h>
void main()
{
int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
int i,j;
int min,x,y;
min=a[0][0];
for(i=0;i<3;i++)
for(j=0;j<4;j++)
minmiif(a[i][j]<min)
{
min=a[i][j];
x=i;
y=j;
}
printf("min=%d x=%d y=%d\n",min,x,y);
}

你错在x、y没有赋初值。
最大值是12,x、y有值了,当然就正确了。
最小值是1,就是a[0][0],而x、y又没有赋初值,因此就出错了。
把int min,x,y;改成int min,x=0,y=0;就可以了。
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答
大家正在搜