位置:首页 > C > C语言如何计算数据集平均值的方法与示例

C语言如何计算数据集平均值的方法与示例

时间:2026-08-18  |  作者:318050  |  阅读:0

简介

在本实验中,你将学习如何在 C 编程中计算数据集的平均值。

本实验涵盖以下步骤:

  • 从用户输入中读取一组数字。
  • 计算这些数字的总和,然后通过将总和除以数字的数量来计算平均值。
  • 打印计算出的平均值。

本实验提供了一份详细的分步指南,包括示例代码,以帮助你理解在 C 语言中计算平均值的过程。

完成本实验后,你将具备使用 C 编程分析和汇总数值数据的技能。

读取一组数字

在这一步中,你将学习如何在 C 编程中读取一组数字。

我们将创建一个简单的程序,允许用户输入一组数字并将它们存储在一个数组中。

首先,在 ~/project 目录中创建一个新的 C 文件:

cd ~/project

nano mean_calculation.c

现在,输入以下代码:

#include 

#define MAX_SIZE 100

int main() {
    int numbers[MAX_SIZE];
    int count;

    // 提示用户输入元素数量
    printf("输入元素数量 (最大 %d): ", MAX_SIZE);
    scanf("%d", &count);

    // 输入验证
    if (count <= 0 || count > MAX_SIZE) {
        printf("无效的元素数量!n");
        return 1;
    }

    // 将数字读入数组
    printf("输入 %d 个数字:n", count);
    for (int i = 0; i < count; i++) {
        printf("输入数字 %d: ", i + 1);
        scanf("%d", &numbers[i]);
    }

    // 打印输入的数字
    printf("n输入的数字为:n");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("n");

    return 0;
}

编译程序

gcc mean_calculation.c -o mean_calculation

运行程序

./mean_calculation

示例输出

输入元素数量(最大 100): 5
输入 5 个数字:
输入数字 1: 10
输入数字 2: 20
输入数字 3: 30
输入数字 4: 40
输入数字 5: 50

输入的数字为:
10 20 30 40 50

代码关键点

  • #define MAX_SIZE 100 设置了数组大小的最大限制
  • scanf() 用于读取元素数量和各个数字
  • 我们对输入进行验证,以确保其在允许的范围内
  • 使用 for 循环来输入并显示数字

这个程序演示了什么

  • 声明一个具有最大大小的数组
  • 从用户那里获取元素数量
  • 将数字输入到数组中
  • 验证用户输入
  • 显示输入的数字

计算总和,然后计算平均值 = 总和/数量

在这一步中,我们将扩展上一个程序,以计算用户输入数字的总和与平均值。

打开现有文件:

cd ~/project

nano mean_calculation.c

修改代码以包含总和与平均值的计算:

#include 

#define MAX_SIZE 100

int main() {
    int numbers[MAX_SIZE];
    int count;
    int sum = 0;
    float mean;

    // 提示用户输入元素数量
    printf("输入元素数量 (最大 %d): ", MAX_SIZE);
    scanf("%d", &count);

    // 输入验证
    if (count <= 0 || count > MAX_SIZE) {
        printf("无效的元素数量!n");
        return 1;
    }

    // 将数字读入数组并计算总和
    printf("输入 %d 个数字:n", count);
    for (int i = 0; i < count; i++) {
        printf("输入数字 %d: ", i + 1);
        scanf("%d", &numbers[i]);
        sum += numbers[i];
    }

    // 计算平均值
    mean = (float)sum / count;

    // 打印结果
    printf("n输入的数字为:n");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("n");

    printf("数字总和:%dn", sum);
    printf("数字平均值:%.2fn", mean);

    return 0;
}

编译程序

gcc mean_calculation.c -o mean_calculation

运行程序

./mean_calculation

示例输出

输入元素数量(最大 100): 5
输入 5 个数字:
输入数字 1: 10
输入数字 2: 20
输入数字 3: 30
输入数字 4: 40
输入数字 5: 50

输入的数字为:
10 20 30 40 50
数字总和: 150
数字平均值: 30.00

此版本的关键更改

  • 添加了 sum 变量来跟踪所有数字的总和
  • 将总和计算集成到输入循环中
  • 通过将总和除以数量来计算平均值
  • 使用类型转换 (float) 以确保浮点除法
  • 添加了总和与平均值的输出,并进行了格式化打印

该程序现在演示了

  • 计算数组元素的总和
  • 计算算术平均值
  • 精确显示结果

打印平均值

在这最后一步中,我们将重构代码,创建一个用于计算和打印平均值的函数,使我们的程序更具模块化和可读性。

打开现有文件:

cd ~/project

nano mean_calculation.c

使用专门的平均值计算函数更新代码:

#include 

#define MAX_SIZE 100

// 计算并打印平均值的函数
void calculateMean(int numbers[], int count) {
    if (count <= 0) {
        printf("错误:没有数字可用于计算平均值。n");
        return;
    }

    int sum = 0;
    float mean;

    // 计算总和
    for (int i = 0; i < count; i++) {
        sum += numbers[i];
    }

    // 计算平均值
    mean = (float)sum / count;

    // 打印详细统计信息
    printf("n统计信息:n");
    printf("元素数量:%dn", count);
    printf("数字总和:%dn", sum);
    printf("数字平均值:%.2fn", mean);
}

int main() {
    int numbers[MAX_SIZE];
    int count;

    // 提示用户输入元素数量
    printf("输入元素数量 (最大 %d):", MAX_SIZE);
    scanf("%d", &count);

    // 输入验证
    if (count <= 0 || count > MAX_SIZE) {
        printf("无效的元素数量!n");
        return 1;
    }

    // 将数字读入数组
    printf("输入 %d 个数字:n", count);
    for (int i = 0; i < count; i++) {
        printf("输入数字 %d:", i + 1);
        scanf("%d", &numbers[i]);
    }

    // 打印输入的数字
    printf("n输入的数字为:n");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("n");

    // 计算并打印平均值
    calculateMean(numbers, count);

    return 0;
}

输入与处理流程

程序会先提示用户输入元素数量,并读取 count 的值。

如果元素数量超过 MAX_SIZE,程序会直接提示“无效的元素数量!”,随后返回 1 结束执行。

接下来,程序会把用户输入的数字依次读入数组中。

首先输出“输入 %d 个数字:”,然后通过 for 循环逐个提示“输入数字 1:”“输入数字 2:”……并使用 scanf 将数据存入 numbers[i]

数字输入完成后,程序会先把刚才录入的内容重新打印出来。

它会先输出“输入的数字为:”,再通过一次循环依次打印数组中的每个元素,最后换行,方便核对输入是否正确。

随后,程序调用 calculateMean(numbers, count) 来完成平均值的计算与结果输出。

最后,程序返回 0,正常结束。

编译程序

gcc mean_calculation.c -o mean_calculation

运行程序

./mean_calculation

示例输出

输入元素数量(最大 100):4
输入 4 个数字:
输入数字 1:10
输入数字 2:20
输入数字 3:30
输入数字 4:40

输入的数字为:
10 20 30 40
统计信息:
元素数量:4
数字总和:100
数字平均值:25.00

这一版主要做了几处优化

  • 将平均值计算单独拆分为 calculateMean() 函数
  • 补充了更完整、更直观的统计信息输出
  • 对边界情况的处理更严谨,报错也更明确
  • 核心功能依然和前面几步保持一致
  • 代码结构更清晰,模块化程度更高,阅读起来也更顺手

这个程序主要演示了

  • 采用基于函数的计算方式
  • 提供更完整的统计结果输出
  • 使用模块化的代码设计

总结

本实验的重点是掌握如何在 C 语言中读取一组数字,计算数据集的总和与平均值,并最终把平均值输出出来。

整个过程并不复杂。

先提示用户输入一组数字,并将其保存到数组中;接着统计这些数字的总和,再用总和除以数量得到平均值;最后输出计算结果。

这个实验涉及的关键环节包括:

  • 声明一个具有最大容量的数组
  • 获取用户输入的元素个数
  • 将数字依次写入数组
  • 校验用户输入是否有效
  • 展示已经输入的数据

完成之后,基本就能把 C 语言中计算一组数据平均值的流程吃透了。

来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。

相关文章

更多

精选合集

更多

大家都在玩

热门话题

大家都在看

更多