用c语言求Fibonacci数列前30个,求这个程序哪里错了
发布时间:2025-05-12 16:29:10 发布人:远客网络
一、用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<iostream>
2、#include<vector>
3、vector<int>a,b,c;
4、if(n<=1)cout<<1<<endl;
5、for(int j=b.size()-1,k=a.size()-1;k>=0;k--,j--){
6、j++;//插入之后需要%10的那个数往后移动一位
7、b[j-1]++;//如果b前面还有数,前一个数+1
8、b[j]%=10;//把数%10,变成小于10的数因为前面已经进位
9、for(int i=0;i<b.size();i++){
10、cout<<b<i>;
11、在做c/c++编程的对#include指令都不会陌生,绝大多数人也都知道如何使用,相信仍有人对此是一知半解的,
12、#include<stdio.h>
13、#include<iostream>
14、表示包含C/C++标准输入输出头文件。包含指令不仅仅限于.h头文件,可以包含任何编译器能识别的C/C++代码文件,包括.c、.hpp、.cpp、.hxx、.cxx等,甚至.txt、.abc等等都可以。
15、预处理器发现#include指令后,就会寻找指令后面<>中的文件名,并把这个文件的内容包含到当前文件中。被包含文件中的文本将替换源代码文件中的#include指令,就像你把被包含文件中的全部内容键入到源文件中的这个位置一样。
16、百度百科——include(计算机专业术语)