2015-10-17 4 views
-2

Мне нужно написать программу о серии fibonacci. Программа должна иметь две функции. Одна функция для чтения пользовательского ввода и одной функции для печати последовательности фибоначчи и количества напечатанных чисел (длина последовательности). Кроме того, функция для печати последовательности фибоначчи должна определять параметр для приема пользовательского ввода.Я пытаюсь написать функцию, которая определена как параметр в C

Существует моя программа, пожалуйста, помогите мне проверить это и помочь мне сделать остальную часть моей программы:

#include <stdio.h> 
#include <stdlib.h> 

int Fibonacci(int); 

int main() 
{ 
int num; 
printf("enter a number:\n"); 
scanf("%d",&num); 
if (num < 0) { 
printf("invalid user input, enter a positive number\n"); 
} else { 
Fibonacci(num); 
} 
return 0; 
} 

int Fibonacci(int num) 
{ 

int num1 = 0; 
int num2 = 1; 
int totalNum = 2; 
int next; 
printf ("%d,%d", num1, num2); 
next = num1 + num2; 

while (next <= num) 
{ 
printf(",%d", next); 
num1 = num2; 
num2 = next; 
next = num1 + num2; 

} 
} 
+1

Что именно не работает? – Downvoter

+0

что вы хотите? – wrangler

+0

Я хочу напечатать, сколько было напечатано. Кроме того, я хочу напечатать вывод в текстовое имя файла «myprogram.txt» –

ответ

0

Сколько чисел, напечатанных в функции просто взять переменную счетчик и инициализировать его в 2 (как предварительно рассчитанных) counter=2, а затем продолжать увеличивать его в то время как петля что-то вроде этого

fabonacci(....) 
{ 
. 
//rest of code 
// 
    counter=2; 
    while (next <= num) 
    { 
     printf(",%d", next); 
     num1 = num2; 
     num2 = next; 
     next = num1 + num2; 
     ++counter; 
    } 
    printf("\n%d\n",counter); 
} 
+0

большое вам спасибо –