划句顾 发表于 2021-5-19 12:56:12

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]
查看完整版本: C语言:以n行m列的格式输出该数组,然后找出该数组中值最小的元素。