/***************************************************************************************************************************************
@fuction:输入一个n行m列(n<=5,m<=5)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。
@time :2021/4/27
@author :LaoGu
****************************************************************************************************************************************/
#include<stdio.h>
int main()
{
//row 为行,colum 为列 ,它们两个必须定义为0,否则在后面打擂台的时候,当最小值为a[0][0]时,最后最小值打印的结果会是a[-890xxx][-890xxx].
int a[5][5],n,m,i,j,row = 0,colum = 0,min; //如果将min在此赋予像这样的:min=a[0][0],此时的min是不确定的值为:-890xxx的值,min不要写在这里
/**************************************************
分别输入a[i][j]的值。
**************************************************/
printf("Please input n ,m : ");
scanf("%d,%d",&n,&m);
printf("请依次输入%d x %d矩阵的所有元素:\n",n,m);
for (i = 0;i < n; i++)
{
for(j = 0;j < m;j++)
scanf("%d",&a[i][j]);
}
/**************************************************
分别输出a[i][j]的值。
**************************************************/
for (i = 0;i < n; i++)
{
{
for(j = 0;j < m;j++)
printf("%5d",a[i][j]);
}
printf("\n");
}
min = a[0][0]; // 这时的min的值是确定的,由上面的赋值所得。
/**************************************************
擂台法,找出最小值。
**************************************************/
for (i = 0;i < n; i++)
for(j = 0;j < m;j++)
{
if(a[i][j]<min)
{
min = a[i][j];
row = i;
colum = j;
}
}
printf("min为:a[%d][%d]=%d",row,colum,min); // 输出最小值并且要有下标。
printf("\n");
return 0;
}