程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> 關於C >> C二維數組練習

C二維數組練習

編輯:關於C

這次實例的要求是:

* 在n行n列的二維整數數組中,*
按照以下要求選出兩個數。
* 首先從每行中選出最大數,在從選出的n個最大數中選出最小數;*
* 其次,從每行選出最小數,再從選出的n個小數中選出最大數。*

下面就是我的代碼,在注釋中可以看到我的想法:

#include 

/**
 * 實例要求:
 * 在n行n列的二維整數數組中,
 * 按照以下要求選出兩個數。
 * 首先從每行中選出最大數,在從選出的n個最大數中選出最小數;
 * 其次,從每行選出最小數,再從選出的n個小數中選出最大數。
 *
 */
int main(void)
{
    int order;
    printf("%s\n","Please enter the order of the matrix:");
    scanf("%d",&order);

    printf("Please input the elements of the matrix,from a[0][0] to a[%d][%d]:\n",order-1,order-1);

    int matrix[order][order];

    /**
     * 獲取用戶輸入,並填充到二維數組中
     */
    int colums,rows;
    for(rows = 0;rows < order;rows++){
        for(colums = 0; colums < order;colums++){
            scanf("%d",&matrix[rows][colums]);
            //這裡也可以這樣寫
            //scanf("%d",matrix[rows]+colums);
        }
    }

    /**
     *  找到最大元素的最小元素
     *
     */

    //用於保存最大元素中的最小元素
    int minInMax = 0;

    for(rows = 0;rows < order;rows++){

        //用於保存行最大元素
        int maxInLine = 0;
        for(colums = 0;colums < order;colums++){
            if(matrix[rows][colums] > maxInLine)
                maxInLine = matrix[rows][colums];
        }

        if(rows == 0){
            //當獲取到第一行的最大元素時,直接賦值給最小元素
            minInMax = maxInLine;
        }else{
            if(minInMax > maxInLine)
                minInMax = maxInLine;
        }
    }

    printf("The minimum of maximum number is %d.\n",minInMax);

    /**
     *  找到最小元素的最大元素
     *
     */

    //用於保存最小元素中的最大元素
    int maxInMin = 0;

    for(rows = 0;rows < order;rows++){

        //用於保存行最小元素
        int minInLine = matrix[rows][0];
        for(colums = 0;colums < order;colums++){
            if(matrix[rows][colums] < minInLine)
                minInLine = matrix[rows][colums];
        }

        if(rows == 0){
            //當獲取到第一行的最小元素時,直接賦值給最大元素
            maxInMin = minInLine;
        }else{
            if(maxInMin < minInLine)
                maxInMin = minInLine;
        }
    }

    printf("The maximum of minimum number is %d.\n",maxInMin);


    return 0;
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved