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