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 语言中计算一组数据平均值的流程吃透了。
来源:整理自互联网
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- C语言个性化问候程序设计与实现技巧
- 时间:2026-08-18
-
- C语言标准差计算方法与代码示例
- 时间:2026-08-18
-
- Go语言轻量级状态机控制模块设计与实现
- 时间:2026-08-18
-
- Golang模块中实现API接口向下兼容的最佳实践
- 时间:2026-08-18
-
- Go中如何验证临时文件是否创建成功并正确使用
- 时间:2026-08-18
-
- 测试函数如何编写才规范高效
- 时间:2026-08-18
-
- Symfony2路由参数正则校验失败返回404处理方案
- 时间:2026-08-18
-
- Hyperf协程调度优化:解决CPU利用率低下提升算力利用率
- 时间:2026-08-18
精选合集
更多大家都在玩
热门话题
大家都在看
更多-
- 智能LOGO设计神器:像私人设计师一样快速完成LOGO设计
- 时间:2026-08-17
-
- 百度AI探索版是什么:新一代AI搜索引擎解析
- 时间:2026-08-17
-
- Android开发入门学习路线:从零开始快速上手
- 时间:2026-08-17
-
- 司马阅SmartRead AI阅读神器:文档对话提问即得答案
- 时间:2026-08-17
-
- 通义智文阅读功能介绍:支持网页论文图书与自由阅读
- 时间:2026-08-17
-
- Atom如何配置Kotlin开发环境并编写Kotlin代码
- 时间:2026-08-17
-
- Kotlin中直接调用函数与invoke()用法区别及适用场景
- 时间:2026-08-17
-
- CentOS下Rust项目版本控制方法与实践
- 时间:2026-08-17