-2

我有一个包含 200 个数字的文本文件。我想计算这些数字的平均值(因为手工计算需要很长时间)。我不知道如何做到这一点,因为我从来没有做过这样的事情。提前致谢。

编辑:我尝试搜索谷歌,但找不到有用的东西。

4

1 回答 1

2

一个简单的 C++ 程序将实现以下步骤:

  1. 将文件作为文本文件打开(最好使用命令行参数作为文件名,不要硬编码)
    • 使用流而不是普通的旧 C 文件句柄;读取文件有很多不同的可能性
  2. 逐行读取并将该行解析为double
  3. 在读取所有数字后存储值并计算平均值,或者在读取时即时计算平均值
    • 存储值应该发生在动态数据结构中,例如std::vector,阅读它
    • 即时计算意味着对所有值求和并增加一个计数器;将总和除以最后的计数器
    • 将其作为实现这两种可能性的练习;计算 a 的平均值std::vector又有很多可能性;尝试找到 3 种不同的解决方案来学习良好的 C++ 风格。(谷歌搜索STL 算法
  4. 然后将结果打印到标准输出cout

查看这些步骤并在遇到问题时提出具体问题。


但是,您不需要 C++ 程序来执行此操作。电子表格程序是完成此任务的完美工具。

如果您不喜欢此类任务的 GUI 程序,SQLite 也是一个完美的工具。打开 SQLite shell 并输入(假设data.txt您的文件每行都有一个十进制数字):

create table tmp (value double);
.import data.txt tmp
select avg(value) from tmp;
于 2013-01-19T15:32:54.857 回答