Другие языки программирования и технологии

Как правильно использовать операторы цикла?

Привет. требуется написать посл. Фиббоначи на Си ( без плюсов) для следущего условия
b) пока числа остаются не более N.( как я понимаю когда число Фибоначи меньше числа N)

Я уже составил программу когда последовательность чисел Фибоначчи 1, 1, 2, 3, 5
a) ровно N чисел;

#include<stdio.h>
int fibonacci(int n){return n<=2?1:fibonacci(n-1)+fibonacci(n-2);}
int main(){int k; {for(k=1;k<=20;k++)printf("%d\n",fibonacci(k)) ; getchar(); return 0;}

Пытался модифицировать ее используя do while но не получилось
// for
#include <stdio.h>
int main() {
    int n, prev, current, next, limit;
    printf(" limit?.. ");
    scanf_s("%i", &limit);
    for (current = prev = n = 0, next = 1; current <= limit; n++) {
        printf(" %i", current);
        prev = current;
        current = next;
        next = prev + current;
    }
    fflush(stdin);
    getchar();
    return 0;
}

// do - while
#include <stdio.h>
int main() {
    int n = 0, prev = 0, current = 0, next = 1, limit;
    printf(" limit?.. ");
    scanf_s("%i", &limit);
    do {
        printf(" %i", current);
        prev = current;
        current = next;
        next = prev + current;
        n++;
    } while (current <= limit);
    fflush(stdin);
    getchar();
    return 0;
}

// while
#include <stdio.h>
int main() {
    int n = 0, prev = 0, current = 0, next = 1, limit;
    printf(" limit?.. ");
    scanf_s("%i", &limit);
    while (current <= limit) {
        printf(" %i", current);
        prev = current;
        current = next;
        next = prev + current;
        n++;
    }
    fflush(stdin);
    getchar();
    return 0;
}
СЕ
Санёк Ефименко
61 103
Лучший ответ
Напишите по-человечески, что Вам нужно? Вы используете рекурсию - куда там еще и цикл впихнуть? Вы каждый раз пишите ряд из 20 чисел - т. е. количество их не запрашивается и всегда одно и то же? Что значит - не получилось - подробней нельзя? И вообще, что Вы хотите получить в итоге - с учетом описанных странностей, желательно - едва ли не пошагово.
Игорь Ушаков
Игорь Ушаков
47 413