gpt4 book ai didi

c++ - 需要帮助清理斐波那契数列请使用 C++

转载 作者:太空宇宙 更新时间:2023-11-04 15:04:47 26 4
gpt4 key购买 nike

我对 C++ 还是很陌生,所以决定制作一个斐波那契数列。它奏效了(哇!),但效果不如我所愿。

我的意思是说例如我告诉我的程序计算我将得到的序列的前 10 项

“0, 1, 1” 然后我必须为每个额外的数字按 enter 直到它达到十,在这种情况下程序返回 0 并结束。

如何让程序显示我想要的所有数字,而无需为每个额外的数字按回车键?

这是我的脚本:

#include <iostream>
using namespace std;

int main()
{
int FibNum;
cout << "How many numbers of the Fibonacci Sequence would you like to see? \n\n";
cin>> FibNum;
cin.ignore();
int a = 0;
int b = 1;
int c = 2;
cout << "Fibonacci Sequence up to " << FibNum << " terms.\n\n";
cout << a << "\n" << b << "\n";

for (int c = 2; c < FibNum; c++) {
int d = a + b;
cout << d;
cin.ignore();
a = b;
b = d;
}
}

在此先感谢您的帮助!

附言此外,如果您发现我正在做的任何糟糕的事情,请随时纠正我,我很清楚我可能做错了很多,我只是想学习。 :]

最佳答案

一些事情:

1) 删除 int c = 2;当你重新定义 cfor里面循环。

2) 删除行 cin.ignore(); : 在你的 for循环:这将解决您的“输入”问题;该行等待一些输入然后忽略它。

3) 在输出中放置一些空白:例如cout << d << ' '所以你的号码是分开的。

4) [确认 vincent_zhang] 考虑转到 uint64_t作为 a 的数据类型, b , 和 d .这是 C++11 中的标准类型。它是一个 64 位无符号整数类型;足以处理大量术语。

还有一件小事,与个人意见接壤,

5) 使用++c而不是 c++因为前者永远不会运行得更慢,因为至少在概念上,后增量必须获取原始值的拷贝。

关于c++ - 需要帮助清理斐波那契数列请使用 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19146295/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com