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

C語言統計一個陣列中比另一個陣列大的元素對數

     編輯:關於C

這個練習展示如何比較兩個相同大小的整數陣列,計算第一個陣列中有多少元素大於第二個陣列中的對應或所有元素。本例採用雙重迴圈,統計 num[] 中每個元素大於 cou[] 中任一元素的總次數。

題目需求

陣列 num[] = {1, 3, 5, 7, 9}、cou[] = {2, 3, 4, 7, 8},兩者長度皆為 5。計算所有 (i, j) 組合中 num[j] > cou[i] 的總數。

演算法流程

  1. 初始化計數器 cout = 0。
  2. 外層迴圈遍歷 cou[],內層迴圈遍歷 num[]。
  3. 若 num[j] > cou[i] 則計數器加一。
  4. 最後印出總計數。

完整程式碼

#include <stdio.h>

int main() {
    int i, j;
    int cout = 0;
    int num[] = {1, 3, 5, 7, 9};
    int cou[] = {2, 3, 4, 7, 8};

    for (i = 0; i < 5; i++) {
        for (j = 0; j < 5; j++) {
            if (num[j] > cou[i]) cout++;
        }
    }

    printf("陣列 num[] 比陣列 cou[] 大的數有 %d 個\n", cout);
    return 0;
}

程式輸出畫面

延伸思考

若陣列已排序,可用雙指標法將時間複雜度從 O(n²) 降至 O(n),這是優化方向之一。

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