我的代码有问题。有一个斐波那契函数,我希望你知道它是做什么的。还有两个文件:In0201.txt 和 Out0201.txt。同样,程序应该从文件“In0201.txt”中获取值并将结果写入 Out0201.txt。
正在写入一些值,而不是写入数字序列(到文件),它写入一个值,就像它是序列中所有这些数字的总和。有人知道为什么会这样吗?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
//Fibonacci
long double fib(int n) {
if(n == 0)
{
return 0;
}
if(n == 1)
{
return 1;
}
return fib(n-1) + fib(n-2);
}
int main()
{
int a;
int tmp;
ifstream inputFile("In0201.txt");
if (inputFile.is_open()) {
inputFile >> a;
cout << "Loaded the value 'n' from file: " << endl;
cout << a << " " << endl;
inputFile.close();
}
ofstream outputFile("Out0201.txt");
if (outputFile.is_open()) {
tmp = fib(a);
cout << "Fibonacci's sequence number: " << tmp << endl;
outputFile << tmp << ", ";
outputFile.close();
}
return 0;
}