Fibonacci数列就是后一项是前两项之和 1 1 2 3 5 8 13 21......依次类推。要求求前N项和,N从1开始。自己写的一直不对。求大神帮下忙。
1、首先打开vc,点击文件、新建;
2、选择win32 console application 并在右侧输入工程的名字和地址,确定;
3、选择一个空的工程,完成。
4、再次点击文件、新建,
5、选择c++ source file 并输入文件名字,确定,
6、输入如图所示的代码,这里以前十个斐波那契数列数为例,需要输出其他个数请把5改成对应数字的一半(比如要输出前20个,就把图中的5改成10);
7、点击右上角的编译运行按钮。
8、成功地输出了斐波那契数列的前十项,如图。
#include<stdio.h>
int main()
{
int i,f[21]={1,1};//对最前面两个元素f[0]和f[1]赋初值1
for(i=2;i<21;i++)
{
f<i>=f[i-2]+f[i-1];//先后求出f[2]~f[20]的值
}
for(i=0;i<21;i++)
{
if(i%5==0)//控制每输出5个数后换行
{
printf("\n");
}
printf("%d\t",f<i>);//输出一个数
}
printf("\n");
return 0;
}
printf()函数的调用格式为:printf("<格式化字符串>",<参量表>)。
其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以"%"开始,后跟一个或几个规定字符,用来确定输出内容格式。
参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用","分开,且顺序一一对应,否则将会出现意想不到的错误。
比如:
int a=1234;
printf("a=%d\n",a);
输出结果为a=1234。
scanf()是C语言中的一个输入函数。与printf函数一样,都被声明在头文件stdio.h里,因此在使用scanf函数时要加上#include<stdio.h>。
int scanf(const char*restrict format,...);
函数scanf()是从标准输入流stdin(标准输入设备,一般指向键盘)中读内容的通用子程序,可以说明的格式读入多个字符,并保存在对应地址的变量中。
如:
scanf("%d%d",&a,&b);
函数返回值为int型,如果a和b都被成功读入,那么scanf的返回值就是2。
本回答被网友采纳什么是Fibonacci数列。
Fibonacci数列列出的前几项:1,1,2,3,5,8,13,21,3前两项之和等于第三项,这个也就是大家说的黄金分割。
递推式:
F1 = 1 (n = 1)
F2 = 1 (n = 2)
Fn = Fn-1 + Fn-2 (n ≥2)
用C语言完成的求前N项之和: