我正在编写一个程序,打印前50个斐波纳契数,从1和2开始. 数字必须用逗号分隔,后面跟一个空格,最后一个数字除外,它应该以换行符结束.
我try 的代码如下:
int main(void)
{
int fib[50];
fib[0] = 1;
fib[1] = 2;
int i;
for (i = 0; i < 50; i++)
{
if (i == 0)
{
printf("%d ,", fib[0]);
}
else if (i == 1)
{
printf("%d ,", fib[1]);
}
else if (i == 49)
{
fib[i] = fib[i-1] + fib[i-2];
printf("%d", fib[i]);
}
else
{
fib[i] = fib[i-1] + fib[i-2];
printf("%d ,", fib[i]);
}
}
printf("\n");
return (0);
}
我得到的结果是:
1 ,2 ,3 ,5 ,8 ,13 ,21 ,34 ,55 ,89 ,144 ,233 ,377 ,610 ,987 ,1597 ,2584 ,4181 ,6765 ,10946 ,17711 ,28657 ,46368 ,75025 ,121393 ,196418 ,317811 ,514229 ,832040 ,1346269 ,2178309 ,3524578 ,5702887 ,9227465 ,14930352 ,24157817 ,39088169 ,63245986 ,102334155 ,165580141 ,267914296 ,433494437 ,701408733 ,1134903170 ,1836311903 ,2971215073 ,512559680 ,3483774753 ,3996334433 ,3185141890 ,