-8

0から入力した数字までのフィボナッチ数を全て出力するプログラムを作ってみたのですが、ミスがあって見つからず…コンパイルできてしまいます。誰かが私のせいがどこにあるか教えてくれると本当に助かります;)。無限の0000を印刷しています

#include <iostream>
int main()
{
int n,erste = 0,zweite = 1,neu = 0;
std::cout << "Enter N  ";
std::cin >> n;


for( int s = 0 ;s < n; s++ )
 {

 if(s <= 1)
    s = neu;
   else{
    neu = erste + zweite;
    erste = zweite;
    zweite = neu;
   }

   std::cout << neu << "  ";

  }}
4

4 に答える 4

1

s <= 1 の場合、s に 0 を代入します。s はゼロに初期化され、ループ カウンターであるため、常にゼロになり、ループは無限になります。

于 2013-10-12T15:28:21.230 に答える
0

どこに障害があるかは簡単にわかります。なぜあなたがミスを犯したのか理解に苦しむ. とにかく、これはより良いです。少なくとも、永遠にループすることはありません。

#include <iostream>
int main()
{
int n,erste = 0,zweite = 1,neu = 0;
std::cout << "Enter N  ";
std::cin >> n;

for( int s = 0 ;s < n; s++ )
 {

    neu = erste + zweite;
    erste = zweite;
    zweite = neu;

   std::cout << neu << "  ";

  }
}
于 2013-10-12T15:34:18.397 に答える