输出斐波那契数与 getchar
output Fibonacci number with getchar?
我今天有这个作业到期,但我不太明白这个问题。编写一个输出斐波那契数的程序。我知道这部分我有这个,它可以让您输入一个数字,它将创建一个该长度的 fubonacci 序列。
typedef unsigned long long ull;
int main() {
int N;
cout << "Enter the N : ";
cin >> N;
ull f0 = 0, f1 = 1;
ull f = f1;
cout << "The Sequence of Fibonacci Numbers : " << endl;
cout << f0 << " ";
cout << f1 << " ";
for (int i = 1; i < N; i++) {
cout << f << " ";
f0 = f1;
f1 = f;
f = f0 + f1;
}
cout << endl;
return 0;
}
我不明白的是作业的这一部分......你们中的任何人能够理解这一点吗?
"使用一个while循环和两个或三个整数变量,让你的程序在每次用户输入键时向屏幕输出一个新的斐波那契数(使用
getchar()
!
斐
波那契数将是它前面的两个元素的总和。
因此:
int main(){
char c = 'a';
int curr=0, next=1;
while (c != 'q'){
c = getchar(); //This just pauses and waits for user input. Exits if user hits q.
cout << curr << endl;
next = curr + next;
curr = next - curr;
}
}
你应该考虑的是在这种情况下如何避免使用临时变量(这就是为什么他说2或3个变量)。 请注意,我在 curr + next 旁边设置了。 然后我需要将 curr 设置为等于 next 的旧值,该值已消失 - 但它并没有真正消失,它只是添加了 curr。
尝试使用
c=getchar();
if(c!='/n')
getchar();
在 while 循环的开头,它将进行斐波那契计算。第二个getchar()是处理换行符,否则会导致两个字符输入,因此即使用户只输入一个键/字符,也打印两个斐波那契数。
给你这个作业的人要么不知道C++是如何工作的,要么不知道英语是如何工作的。
如果他们的意思是,从字面上看,当你按下一个键的那一刻(顺便说一下,你不能输入一个键),斐波那契数应该出现,那么这个问题就是给你的。
如果他们的意思是按 Enter 后(这也是刷新输入时),数字应该出现与字符(包括空格)一样多的次数,那么:
while(getchar() != EOF) //print next fibonacci number
== 更正 ==
实际上,如果程序正在读取文件而不是从标准输入中读取,则只需要我键入的代码段。所以,这个作业现在听起来更令人困惑。
相关文章:
- 递归函数计算序列中的平方和(并输出过程)
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 请解释"函数1(p1,p2,p3);"的输出
- C++:将控制台输出存储在宏中更好吗
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 为什么我的代码在输出中增加了93天
- 如何从void函数输出字符串
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- AES加密到解密未正确输出
- 如何将c++程序的一些输出传递给shell,以便在shell中使用
- 使用C++程序合并排序没有得到正确的输出
- 为什么我不能在不创建字符串变量的情况下使用函数的字符串输出
- C++格式化输出问题
- 将值从二维数组输出到文本文件
- 集合上的输出迭代器:assign和increment迭代器
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- getchar() 函数如何输出
- 无法使我的getChar()函数能够工作,我希望它能正常工作,输出IS10而不是2 C
- 输出斐波那契数与 getchar