C语言如何计算离散分布的期望值公式与实现
时间:2026-08-15 | 作者:星河游者 | 阅读:0用 C 语言计算离散分布的期望值
在这个实验里,你要掌握的是:如何用 C 语言计算离散分布的期望值。
整个过程并不复杂,核心就是先读取一组取值及其对应的概率,再把“每个值 × 对应概率”的结果逐项累加,最后输出期望值。
这个实验主要包含几个环节:读取数值和概率、完成期望值计算,以及打印最终结果。
程序会让用户输入结果的数量、各个取值以及它们各自的概率,同时还会把输入内容回显出来,方便核对是否录入正确。
从应用角度看,这个实验不只是一次基础编程练习,它也能帮助理解概率与组合数学在实际中的用法。
无论是数据分析、机器学习,还是决策建模,这类能力都很有价值。
本实验你将完成的内容
- 读取用于计算期望值的多个取值
- 读取每个取值对应的概率
- 计算所有“值 × 概率”的总和
- 输出最终期望值
读取数值和概率
在这一步中,重点是学会读取用于计算离散分布期望值的数值和概率。
接下来会编写一个程序,让用户输入多个取值,以及每个取值对应的概率。
首先,在 ~/project 目录下新建一个 C 文件:
接着,就可以开始编写用于读取数值和概率的初始代码:
```c #include编译并运行程序
```bash gcc expected_value.c -o expected_value ./expected_value ```示例输出
```text 输入结果数量(最大 10):3 输入值: 值 1:10 值 2:20 值 3:30 输入概率: 概率 1:0.2 概率 2:0.5 概率 3:0.3 输入值: 值 1:10.00,概率 1:0.20 值 2:20.00,概率 2:0.50 值 3:30.00,概率 3:0.30 ```需要理解的关键点
- 我们使用数组来存储值和概率
MAX_OUTCOMES定义了可能结果的最大数量scanf()用于读取用户输入的值和概率- 我们打印输入以验证数据输入是否正确
计算所有结果的(值 * 概率)之和
在这一步中,你将扩展上一个程序,通过计算每个值与其概率的乘积之和来计算期望值。
打开现有文件并修改代码:
```bash cd ~/project nano expected_value.c ```更新代码以计算期望值:
```c #include编译并运行更新后的程序
```bash gcc expected_value.c -o expected_value ./expected_value ```示例输出
```text 输入结果数量(最大 10):3 输入值: 值 1:10 值 2:20 值 3:30 输入概率: 概率 1:0.2 概率 2:0.5 概率 3:0.3 计算详情: 值 1:10.00 * 概率 1:0.20 = 2.00 值 2:20.00 * 概率 2:0.50 = 10.00 值 3:30.00 * 概率 3:0.30 = 9.00 期望值:21.00 ```需要理解的关键点
- 我们引入
expected_value来存储值 * 概率的总和 for循环计算每个项并累加总和- 我们打印详细的计算步骤以展示期望值是如何计算的
- 每个结果的贡献表示为(值 * 概率)
打印期望值
在这最后一步中,你将改进程序,以提供更详细的输出,并在显示期望值时提升用户体验。
打开现有文件并进行最终修改:
```bash cd ~/project nano expected_value.c ```使用改进的格式和错误检查更新代码:
```c #include编译并运行最终程序
```bash gcc expected_value.c -o expected_value ./expected_value ```示例输出
```text 期望值计算器 ======================== 输入结果数量(1 - 10):3 输入值: 值 1:10 值 2:20 值 3:30 输入概率: 概率 1:0.2 概率 2:0.5 概率 3:0.3 --- 计算详情 --- 结果 1:值 = 10.00,概率 = 0.20 贡献:10.00 * 0.20 = 2.00 结果 2:值 = 20.00,概率 = 0.50 贡献:20.00 * 0.50 = 10.00 结果 3:值 = 30.00,概率 = 0.30 贡献:30.00 * 0.30 = 9.00 === 期望值 === E(X) = 21.00 ```主要改进点
- 增加了对结果数量的输入验证
- 检查了总概率之和
- 增强了输出格式
- 展示了各个结果的贡献
- 清晰地显示了最终的期望值
总结
在本实验中,你将学习如何读取值和概率,然后用 C 语言计算离散分布的期望值。
首先,你将创建一个程序,允许用户输入多个值及其相应的概率。
然后,你将学习如何将每个值与其概率的乘积相加来计算期望值。
最后,你将打印计算出的期望值。
本实验涵盖的关键点包括:
- 使用数组来存储值和概率
- 定义可能结果的最大数量
- 利用
scanf()函数读取用户输入 - 在进入下一步之前,程序会确保打印输入的值和概率以供验证
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- Ollama基本概念与入门使用介绍
- 时间:2026-08-21
-
- 人工智能与机器学习技术全景:从理论到实践应用
- 时间:2026-08-18
-
- 阿里云倚天710云服务器详解:CIPU架构性能与应用场景
- 时间:2026-08-17
-
- 机器学习中非法字符串导致float转换错误的处理方法
- 时间:2026-08-15
-
- Anaconda3 2026安装教程 新手快速完成环境配置
- 时间:2026-08-13
-
- ICML 2026 美团技术团队机器学习前沿论文精选
- 时间:2026-07-28
-
- 机器学习辅助高通量细胞表面抗原抗体发现
- 时间:2026-07-28
-
- 机器学习发展史:从神经元到大语言模型
- 时间:2026-07-23
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17