C 程式設計中陣列中數的平均值
有個陣列儲存了 n 個元素,此程式計算這些數的平均值。使用不同方法。
輸入 - 1 2 3 4 5 6 7
輸出 - 4
說明 - 陣列元素的總和 1+2+3+4+5+6+7=28
陣列中元素個數=7
平均值=28/7=4
有兩種方法
方法 1 − 迭代
此方法中,我們將找出總和,並總和除以元素的總數。
給定陣列 arr[] 和陣列大小 n
輸入 - 1 2 3 4 5 6 7
輸出 - 4
說明 - 陣列元素的總和 1+2+3+4+5+6+7=28
陣列中元素個數=7
平均值=28/7=4
示例
#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 − 遞迴
思路是將元素的索引作為附加引數傳遞,並遞迴計算總和。計算出總和後,將總和除以 n。
給定陣列 arr[]、陣列大小 n 和初始索引 i
輸入 - 1 2 3 4 5
輸出 - 3
說明 - 陣列元素的總和 1+2+3+4+5=15
陣列中元素個數=5
平均值=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;
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP