c++编程实现从文件source.txt中读取数据,将其中的完数写入文件destination.txt中。
时间: 2024-03-17 22:47:40 浏览: 80
好的,我来回答你的问题。
首先,完数是指一个数的因子(除了它本身)之和等于它本身的数。我们可以通过循环判断每个数是否为完数,然后将其写入目标文件中。
下面是一个实现该功能的 C++ 代码:
```c++
#include <iostream>
#include <fstream>
using namespace std;
bool isPerfect(int num) {
int sum = 0;
for (int i = 1; i <= num / 2; i++) {
if (num % i == 0) {
sum += i;
}
}
return num == sum;
}
int main() {
ifstream fin("source.txt");
ofstream fout("destination.txt");
int num;
while (fin >> num) {
if (isPerfect(num)) {
fout << num << " ";
}
}
fin.close();
fout.close();
return 0;
}
```
在这个程序中,我们首先打开源文件 `source.txt` 和目标文件 `destination.txt`,然后通过循环读取源文件中的每个数,判断其是否为完数。如果是完数,则将其写入目标文件中,以空格分隔。
最后,我们关闭源文件和目标文件,并返回程序结束。
希望这个代码能够帮助到你,如果还有其他问题,请继续提问。
阅读全文