亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

c語言怎么求一個數組的中位數

小億
298
2023-11-25 03:47:44
欄目: 編程語言

要求一個數組的中位數,可以按照以下步驟進行:

  1. 首先,對數組進行排序。可以使用C語言中的排序函數qsort來實現。
#include <stdio.h>
#include <stdlib.h>

// 比較函數,用于排序
int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int arr[] = {3, 1, 5, 2, 4};
    int len = sizeof(arr) / sizeof(arr[0]);

    // 對數組進行排序
    qsort(arr, len, sizeof(int), compare);

    // 打印排序后的數組
    printf("Sorted array: ");
    for (int i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    return 0;
}
  1. 排序后,如果數組長度為奇數,則中位數為排序后數組的中間值;如果數組長度為偶數,則中位數為排序后數組的中間兩個數的平均值。
#include <stdio.h>
#include <stdlib.h>

int compare(const void *a, const void *b) {
    return (*(int*)a - *(int*)b);
}

int main() {
    int arr[] = {3, 1, 5, 2, 4};
    int len = sizeof(arr) / sizeof(arr[0]);

    // 對數組進行排序
    qsort(arr, len, sizeof(int), compare);

    // 打印排序后的數組
    printf("Sorted array: ");
    for (int i = 0; i < len; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");

    // 求中位數
    int median;
    if (len % 2 == 0) {
        median = (arr[len/2 - 1] + arr[len/2]) / 2;
    } else {
        median = arr[len/2];
    }

    printf("Median: %d\n", median);

    return 0;
}

以上代碼先對數組進行排序,然后根據數組長度的奇偶性來求出中位數。

0
昭通市| 甘泉县| 雷波县| 漳平市| 天峨县| 怀远县| 错那县| 微山县| 沙河市| 汉川市| 漠河县| 宜兰市| 象山县| 遵义县| 吉木萨尔县| 梧州市| 马龙县| 和政县| 伊金霍洛旗| 昌宁县| 班玛县| 榕江县| 宝丰县| 松滋市| 顺昌县| 内丘县| 离岛区| 曲松县| 大方县| 云浮市| 涡阳县| 新竹县| 旺苍县| 金湖县| 巴青县| 阜南县| 阿瓦提县| 大理市| 湖口县| 英超| 遵义县|