大学の方の課題で自作でプログラムを作る課題があります。
その課題で「利用者が入力した数字以下のフィボナッチ数列を表示するシステム」を作成しようと考えております。
一通りコード?プログラム?(下記に載っております。)が書けたんですが、実行時に少し変で下記の画像のようになります。
具体的に何が変だといいますと、「正の値を入力してください:」と表示され「5[Enter]」と入力してもフィボナッチ数列が表示されず、その下の行に何か打つと実行されるみたいな感じで少しおかしいんです。
私のイメージですと「正の値を入力してください:」→「5[Enter]」→「0 1 1 2 3 5」と表示されてプログラム終了という感じだったんですがどこが間違っているのでしょうか?
教えていただけると助かります。よろしくお願いいたします。

- キャプチdededeャ.JPG (5.8 KiB) 閲覧数: 4418 回
コード:
#include<stdio.h>
int main(void){
int no; //入力した値の箱
int n1, n2, n3; //フィボナッチ数列の数のための
n1 = 0;
n2 = 1;
do{
printf("正の値を入力してください:");
scanf("%d ", &no);
}while(no <= 0);
while(n1 <= no){
printf("%d ", n1);
n3 = n2 + n1;
n1 = n2;
n2 = n3;
}
return 0;
}