首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C語言入門教學:比較五個整數並輸出最大值與最小值(方法二・陣列版)

     編輯:關於C語言

C語言入門教學:比較五個整數並輸出最大值與最小值(方法二・陣列版)

承接上一篇,本文介紹使用陣列與迴圈來簡化程式碼,使其更具彈性且易於維護。這是邁向進階寫法的關鍵一步。

程式碼實作

#include <stdio.h>

int main() {
    int i;
    int a[5];           // 宣告陣列儲存五個整數
    int max = 0, min = 0; // 以索引 0 為初始極值基準

    printf("請輸入 5 個整數(空格隔開):\n");
    for (i = 0; i < 5; ++i)
        scanf("%d", &a[i]);

    // 從索引 1 開始遍歷,與目前極值比較
    for (i = 1; i < 5; ++i) {
        printf("%d ", a[i]); // 顯示讀入的數值(除第一個外)
        if (a[i] > a[max]) max = i; // 更新最大值索引
        if (a[i] < a[min]) min = i; // 更新最小值索引
    }

    printf("\n最大值是:%d\n", a[max]);
    printf("最小值是:%d\n", a[min]);
    return 0;
}

程式邏輯解析

  1. 陣列宣告:int a[5] 一次配置五個整數空間,避免宣告大量單一變數。
  2. 迴圈輸入:for 迴圈搭配 scanf 依序將輸入存入陣列。
  3. 單迴圈雙極值追蹤:只需一次遍歷,同時維護最大值與最小值的索引,時間複雜度 O(n)。
  4. 索引法優勢:記錄索引而非數值本身,便於後續擴充(如需顯示位置)。

進階觀察

  • 初始 max = 0, min = 0 假設第一個元素為極值,迴圈從 1 開始比較,邏輯嚴謹。
  • 若輸入數量未固定,可改用動態記憶體配置或連結串列。
  • 此寫法為經典「線性掃描法」,是後續學習排序與搜尋演算法的基礎。

掌握陣列與迴圈的結合,能讓程式碼更簡潔、可讀性更高,是 C 語言進階的必修課。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved