Я боюсь, что вы должны действительно очистить ваш code.The следующее абсолютно плохого в C.
(int i = 0; i < n; i++)
Я уверен, что вы собираетесь here.But в for
петли, который знает, что вы имели в виду? Затем вы вложили одиночный else
в блок if
в Fibonacci()
. В вашей программе есть много ошибок, поэтому позвольте мне дать вам программу, которая создает серию Фибоначчи, исходя из того, сколько чисел в серии требуется пользователю (выбор введен с клавиатуры). Попробуйте понять эту программу. Это очень легко, так как логика серии Fibonacci проста сама. Это просто, что очевидно, что вы очень новичок в языке C.
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i,l,x=1,y=1,z;
printf("Enter how many Fibonacci numbers you want\n");
scanf("%d",&l);
printf("The Fibonacci series of %d numbers is\n",l);
if(l==1)
{
printf("1");
exit(0);
}
if(l==2)
{printf("1+1");
exit(0);
}
printf("1+1+");
for(i=3;i<=l;i++)
{
z=x+y;
printf("%d",z);
x=y;
y=z;
if((i+1)<=l) printf("+");
}
}
Так вы говорите, вы реализовали эту серию на других языках, вы не будете иметь проблемы начали серию, как 0,1,1,2,3,5.....
, Моя программа идет 1,1,2,3,5...
, как инициализируется как x
и y
к 1
вместо инициализации x
, как 0
.Выберите код для его достижения.
Отсутствует заявление «для»? – Paul
Логика в вашей программе неверна, и я не думаю, что она компилируется. Исправьте программу, чтобы она компилировалась, смотри выход и выясняла, можете ли вы объяснить, почему вывод неправильный, перейдя через написанную вами функцию. Обратите внимание, что традиционное определение Фибоначчи использует рекуррентное отношение. – jxh
Спасибо большое. Я немного поработал над кодом, и я прочитал еще кое-что о кодировании на C. Я думаю, что теперь у меня есть смысл. – user2336380