1060:均值

农飞星
2023-12-01

1060:均值

时间限制: 1000 ms    内存限制: 65536 KB

【题目描述】

给出一组样本数据,包含n个浮点数,计算其均值,精确到小数点后4位。

【输入】

输入有两行,第一行包含一个整数n(n小于100),代表样本容量;第二行包含n个绝对值不超过1000的浮点数,代表各个样本数据。

【输出】

输出一行,包含一个浮点数,表示均值,精确到小数点后4位。

【输入样例】

2

1.0 3.0

【输出样例】

2.0000

主要是输入数据的类型不一样,除了n,其他输入数据是浮点型,在计算均值时,就无需考虑类型问题了。

数据类型:

除了n是整数外,其他都是浮点数,且数据范围都较小,n可以选择int类型,其他数据选择double类型。

求解过程:

声明1个int类型变量n,代表样本容量。

声明2个double类型变量sample、sum = 0,分别样本数据、样本总和。

输入一个整数给变量n,代表样本容量。

循环n次,循环体中:

1.输入一个样本数据

2.把该样本数据加入到sum中

循环外,声明一个double类型变量aver,代表均值。

根据平均值公式求得均值,并保存在aver变量中。

输出均值变量aver的值,并保留小数点后4位数。

参考代码 - C++:

一般变量命名都采用单词的方式,当规模较大,变量较多时,用单词命名比用字母命名更加让人一眼看明白。

#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int n;
    double age, sum = 0;
	cin >> n;
    for (int i = 1; i <= n; i++)    // 循环n次
    {
        cin >> age; // 每循环一次输入一个样本数据
        sum += age; // 求所有样本数据之和
    }
    double aver = sum / n;    // 求均值
    cout << fixed << setprecision(4) << aver;
    return 0;
}

参考代码 - C语言:

#include <stdio.h>
int main()
{
    int n, i;
    double sample, sum = 0;
    scanf("%d", &n);
    for (i = 1; i <= n; i++)    // 循环n次
    {
        scanf("%lf", &sample);  // 每循环一次输入一个样本数据
        sum += sample;          // 求所有样本数据之和
    }
    double aver = sum / n;    // 求均值
    printf("%.4f", aver);
    return 0;
}
 类似资料: