C++实现用记事本产生一个文本文件data.txt,其内容为若干实数,数据之间以空白字符分割。编程从该文件中读入这些实数,求出这些实数的平均值,在程序中创建并产生一个文本文件result.txt,内容为data.txt中的全体实数,每行5个数,最后一行是求出的平均值。
时间: 2024-02-11 07:08:52 浏览: 321
好的,我来为你提供一段C++代码来实现你的需求。
```c++
#include <iostream>
#include <fstream>
#include <vector>
#include <iomanip>
using namespace std;
int main()
{
// 打开 data.txt 文件并读取实数
ifstream fin("data.txt");
double num;
vector<double> numbers;
while (fin >> num)
{
numbers.push_back(num);
}
fin.close();
// 计算实数的平均值
double sum = 0;
for (auto n : numbers)
{
sum += n;
}
double average = sum / numbers.size();
// 将实数写入 result.txt 文件
ofstream fout("result.txt");
int count = 0;
for (auto n : numbers)
{
fout << fixed << setprecision(2) << n << " ";
count++;
if (count % 5 == 0)
{
fout << endl;
}
}
// 写入平均值
fout << endl << "Average: " << fixed << setprecision(2) << average;
fout.close();
return 0;
}
```
这段代码与之前Python代码的思路类似,主要分为以下几个步骤:
1. 打开 data.txt 文件并读取其中的实数,存储在一个vector `numbers` 中。
2. 计算 `numbers` 中所有实数的平均值,存储在变量 `average` 中。
3. 打开 result.txt 文件并将 `numbers` 中的实数写入文件,每行最多写入 5 个数。
4. 在最后一行写入平均值。
希望这个C++代码能够帮到你,如有其他问题,欢迎随时提出。
阅读全文