您当前的位置:首页 > 互联网教程

用c语言求Fibonacci数列前30个,求这个程序哪里错了

发布时间:2025-05-12 16:29:10    发布人:远客网络

用c语言求Fibonacci数列前30个,求这个程序哪里错了

一、用c语言求Fibonacci数列前30个,求这个程序哪里错了

1、最主要原因是for语句后面不应加分号,由于有分号其后面{}中的语句就不属于for了

2、还有一些其他细节需要修改:比如f3应先计算再输出,因为没有给f3赋初值;

3、因为是从f3开始输出的,应该先输出f1和f2,再执行for循环,然后i从3开始

4、对于long整型数输出最好用"%ld",为了美观可以用"%6ld"使输出位宽一致

5、可见正确输出了Fibonacci数列的前30个数,望采纳~

6、 printf("%6ld%6ld", f1, f2);//先输出前两项

7、 for(i= 3; i<= 30; i++)//这里没有分号

8、 f3= f1+ f2;//计算并输出第三项

二、c语言fibonacci数列问题

1、1:这道题目,建议用临时变量,没必要用数组存数列,因为题目不关心数列,只关心取余,也无法知道要设置多大的数组合适,设置小了,数组溢出,设置大了,影响内存(特别是像这样定义了这样的大数组data[20000],在之后的找工作,面试是很被动,很容易被刷);

2、2:为了防止n太大,f(n)的值导致int存不下,可分步取余(c=(a+b)%10007),然后再加,再取余;

三、[C语言]用递归算法编写一个程序求Fibonacci数列的第n项值

1、#include&lt;iostream&gt;

2、#include&lt;vector&gt;

3、vector&lt;int&gt;a,b,c;

4、if(n&lt;=1)cout&lt;&lt;1&lt;&lt;endl;

5、for(int j=b.size()-1,k=a.size()-1;k&gt;=0;k--,j--){

6、j++;//插入之后需要%10的那个数往后移动一位

7、b[j-1]++;//如果b前面还有数,前一个数+1

8、b[j]%=10;//把数%10,变成小于10的数因为前面已经进位

9、for(int i=0;i&lt;b.size();i++){

10、cout&lt;&lt;b&lt;i&gt;;

11、在做c/c++编程的对#include指令都不会陌生,绝大多数人也都知道如何使用,相信仍有人对此是一知半解的,

12、#include&lt;stdio.h&gt;

13、#include&lt;iostream&gt;

14、表示包含C/C++标准输入输出头文件。包含指令不仅仅限于.h头文件,可以包含任何编译器能识别的C/C++代码文件,包括.c、.hpp、.cpp、.hxx、.cxx等,甚至.txt、.abc等等都可以。

15、预处理器发现#include指令后,就会寻找指令后面&lt;&gt;中的文件名,并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样。

16、百度百科——include(计算机专业术语)