zoukankan      html  css  js  c++  java
  • 计算机二级-C语言-程序设计题-190119记录-求出一个二维数组每一列的最小值。

    //编写一个函数:tt指向一个M行N列的二维数组,求出二维数组每列中最小的元素,并依次放入pp所指的一维数组中。二维数组中的数在主函数中赋予。

    //重难点:求出的是每一列的最小值,这里要注意,学会简化代码,省去一些多余定义的变量。

     1 #include <stdio.h>
     2 #define  M  3
     3 #define  N  4
     4 void  fun ( int tt[M][N], int pp[N] )
     5 {
     6     //简化代码
     7     int i, j;//不定义变量n,使用i即可。不定义min直接赋值给pp即可。
     8     for (i = 0; i < N; i++)//注意这里i代表的列信息。
     9     {
    10         pp[i] = tt[0][i];
    11         for (j = 0; j < M; j++)    if (tt[j][i] < pp[i])    pp[i] = tt[j][i];//for和if语句都只有一句,可以省略大括号。
    12     }
    13 /*    int i, j, min,n=0;
    14     for (i = 0; i < N; i++)
    15     {
    16         min = tt[0][i];
    17         for (j = 0; j < M; j++)
    18         {
    19             if (tt[j][i] < min)
    20                 min = tt[j][i];
    21         }
    22         pp[n++] = min;
    23     }*/
    24 }
    25 main( )
    26 {
    27    void NONO( );
    28    int t [ M ][ N ]={{22,45, 56,30},
    29                      {19,33, 45,38},
    30                      {20,22, 66,40}};
    31    int  p [ N ],  i,  j,  k;
    32    printf ( "The original data is : 
    " );
    33    for( i=0; i<M; i++ ){
    34      for( j=0; j<N; j++ )
    35        printf ( "%6d", t[i][j] );
    36      printf("
    ");
    37    }
    38    fun ( t, p );
    39    printf( "
    The result  is:
    " );
    40    for ( k = 0; k < N; k++ ) printf ( " %4d ", p[ k ] );
    41    printf("
    ");
    42    NONO( );
    43 }
    44 void NONO( )
    45 {/* 请在此函数内打开文件,输入测试数据,调用 fun 函数,
    46     输出数据,关闭文件。 */
    47   int i, j, k, m, t[M][N], p[N] ;
    48   FILE *rf, *wf ;
    49   rf = fopen("in.dat","r") ;
    50   wf = fopen("out.dat","w") ;
    51   for(m = 0 ; m < 10 ; m++) {
    52     for( i=0; i<M; i++ ){
    53       for( j=0; j<N; j++ )
    54      fscanf (rf, "%6d", &t[i][j] );
    55     }
    56     fun ( t, p ) ;
    57     for ( k = 0; k < N; k++ ) fprintf (wf, " %4d ", p[ k ] ) ;
    58     fprintf(wf, "
    ") ;
    59   }
    60   fclose(rf) ;
    61   fclose(wf) ;
    62 }
  • 相关阅读:
    hdu 1290 献给杭电五十周年校庆的礼物 (DP)
    hdu 3123 GCC (数学)
    hdu 1207 汉诺塔II (DP)
    hdu 1267 下沙的沙子有几粒? (DP)
    hdu 1249 三角形 (DP)
    hdu 2132 An easy problem (递推)
    hdu 2139 Calculate the formula (递推)
    hdu 1284 钱币兑换问题 (DP)
    hdu 4151 The Special Number (DP)
    hdu 1143 Tri Tiling (DP)
  • 原文地址:https://www.cnblogs.com/ming-4/p/10292770.html
Copyright © 2011-2022 走看看