Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

หาค่าเฉลี่ยของตัวเลขใน Array ด้วย C Programming


มี n ตัวเลขใน Array โปรแกรมนี้หาค่าเฉลี่ย ด้วย 2 วิธี

Input - 1 2 3 4 5 6 7

Output - 4

คำอธิบาย - ผลรวม 1+2+3+4+5+6+7=28 จำนวน 7 ตัว ค่าเฉลี่ย = 28/7 = 4

วิธี 1 - Iterative

หาผลรวม แล้วหารด้วยจำนวนสมาชิก

ตัวอย่าง

#include <iostream>
using namespace std;
int main() {
    int arr[] = {1, 2, 3, 4, 5, 6, 7};
    int n = 7;
    int sum = 0;
    for (int i = 0; i < n; i++) {
        sum += arr[i];
    }
    float average = sum / n;
    cout << average;
    return 0;
}

วิธี 2 - Recursive

ส่ง Index เป็น Parameter เรียกซ้ำหาผลรวม แล้วหาร n

Input - 1 2 3 4 5

Output - 3

คำอธิบาย - ผลรวม 15 จำนวน 5 ตัว ค่าเฉลี่ย = 3

ตัวอย่าง

#include <iostream>
using namespace std;
int avg(int arr[], int i, int n) {
    if (i == n - 1) return arr[i];
    if (i == 0) return ((arr[i] + avg(arr, i + 1, n)) / n);
    return (arr[i] + avg(arr, i + 1, n));
}
int main() {
    int arr[] = {1, 2, 3, 4, 5};
    int n = 5;
    cout << avg(arr, 0, n) << endl;
    return 0;
}