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