1. 初学c语言菜鸟求助:显示斐波那契数列前20项,用一维数组编写
斐波那契数列应该是:0,1,1,2,3,5,8,13,21,34,55,89,144,233,...
规律是:f[0]=0,f[1]=1,f[i]=f[i-1]+f[i-2],i>1
#include
<stdio.h>
void
main()
{
int
i,fib[20]={0,1};
for
(i=2;
i<20;
i++)
{
fib[i]=fib[i-2]+fib[i-1];
}
for
(i
=
0;
i<20;
i++)
{
printf("%d
",fib[i]);
}
}
2. C语言中,求出斐波那契数列的前20项
斐波那契数列是:1,1,2,3,5,8,13,21,34,55,89...
规律是:f[0]=1,f[1]=1,f[i]=f[i-1]+f[i-2],i>1
#include <stdio.h>
void main()
{
int i,array[20]={1,1};
for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%d ",array[i]);
}
printf("\n");
}
写好了,看一下,测试通过。。。
追问
那个能不能就是四个数四个数放一行??
追答
#include <stdio.h>
void main()
{
int i,array[20]={1,1};
for (i=2; i<20; i++)
{
array[i]=array[i-2]+array[i-1];
}
for (i = 0; i<20; i++)
{
printf("%4d\t",array[i]);
if((i+1)%4 == 0)
{
printf("\n");
}
}
printf("\n");
}
可以,想怎么样都可以。。。左右对齐都可以。。这里是右对齐~
把printf("%4d\t",array[i]);中的4去掉,就是左对齐,这个好看点。。
3. C语言:编写程序用数组处理求解Fibonacci数列前20项之和并输出。
斐波那契数列通项公式:斐波那契数列指的是这样一个数列:1、1、2、3、5、8、13、21、……这个数列从第三项开始,每一项都等于前两项之和。
#include<stdio.h>
int main()
{
int a[20]={1,1},i=2;
printf("a[0]=a[1]=");
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
// a[i-2]=a[i-1]; 这两行是多余的
// a[i-1]=a[i];
if(i%4==0)
printf("\n");
printf("a[%d]=%d ",i,a[i]);//加了格式说明符以及空格。
}
return 0;
}
4. 求出斐波那契数列前20项的C语言程序 快帮帮忙哦
斐波那契数列的递推公式为Fn=Fn-1+Fn-2,F1=F2=1
int a,b,F,i,S20;
a=b=1;
S20=a+b;
for(i=3;i<=20;i++){
F=a+b;a=b;b=F;S20+=F;}
这个S20就是所求的前20项和。
5. C语言:编写程序用数组处理求解Fibonacci数列前20项之和并输出。
思路:先定义数组的前两项值,再依次对后面每项进行赋值,后面每项都是前两项的和。
例如:
#include
<stdio.h>
int
main(){
int
a[20],i;
a[0]=a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++){
printf("%4d
",a[i]);
if((i+1)%5==0)
printf("\n");
}
return
0;
}
/*
输出:
1
1
2
3
5
8
13
21
34
55
89
144
233
377
610
987
1597
2584
4181
6765
*/
6. 求出斐波那契数列前20项的C语言程序 快帮帮忙哦
斐波那契数列的递推公式为Fn=Fn-1+Fn-2,F1=F2=1
int
a,b,F,i,S20;
a=b=1;
S20=a+b;
for(i=3;i<=20;i++){
F=a+b;a=b;b=F;S20+=F;}
这个S20就是所求的前20项和。
7. C语言 写程序,输出斐波那契数列的前20项,每行输出4个数
方法一for循环
publicclassFeiBoMethod{
定义三个变量方法
publicstaticvoidmain(String[]args){
inta=1,b=1,c=0;
System.out.println("斐波那契数列前20项为:");
System.out.print(a+"\t"+b+"\t");
因为前面还有两个1、1所以i<=18
for(inti=1;i<=18;i++){
c=a+b;
a=b;
b=c;
System.out.print(c+"\t");
if((i+2)%4==0)
System.out.println();
}
}
}
方法2使用数组的方式实现
publicclassFeiBoMethod{
定义数组方法
publicstaticvoidmain(String[]args){
intarr[]=newint[20];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契数列的前20项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%4==0)
System.out.println();
System.out.print(arr[i]+"\t");
}
}
}
(7)前二十斐波那契数列c语言扩展阅读:
递归实现
publicclassFeiBoMethod{
使用递归方法
privatestaticintgetSum(intnum){
if(num==1||num==2)
return1;
else
returngetSum(num-1)察氏+getFibo(num-2);
}
publicstaticvoidmain(String[]args){
System.out.println("斐波那契数列的前20项为:");
for(败昌散inti=1;i<=20;i++){
System.迅毕out.print(getSum(i)+"\t");
if(i%4==0)
System.out.println();
}
}
}
8. 在c语言中,如何利用数组求斐波那契数列的前20项
#include<stdio.h>
intmain()
inti,fib[20]={0,1};
for(i=2;i<20;i++)
fib[i]=fib[i-2]+fib[i-1];
printf("%d",fib[19]);return0;
#include<stdio.h>
void main()
{long sum=0;
long a[20];
int i;
a[0]=1;a[1]=1;
for(i=2;i<20;i++)
a[i]=a[i-1]+a[i-2];
for(i=0;i<20;i++)
sum=sum+a[i];
printf("%ld",sum);
}
数列与矩阵
对于斐波那契数列1、1、2、3、5、8、13、……。有如下定义
F(n)=F(n-1)+F(n-2)
F(1)=1
F(2)=1
对于以下矩阵乘法
F(n+1) = (1,1 ) (F(n),F(n-1))T
F(n) =(1,0 ) (F(n),F(n-1))T
它的运算就是右边的矩阵 (1,1)乘以矩阵(F(n),F(n-1)),右边的矩阵(1,0 ) 乘以矩阵(F(n),F(n-1)),得到:
F(n+1)=F(n)+F(n-1)
F(n)=F(n)
以上内容参考:网络-斐波那契数列
9. 用c语言编写程序,用数组输出Fibonacci数列前20项
1、打开visual C++ 6.0-文件-新建-文件-C++ Source File。
7、输出最后的结果。
10. ,c语言:利用数组求斐波那契数列的前20项
代码如下:
int a[20]={1,1};
printf(“%d %d ”,a[0],a[1]);
for(int i=0;i<20;i++)
{
printf(“%d ”,a[i]=a[i-1]+a[i-2]);
}
(10)前二十斐波那契数列c语言扩展阅读:
如何掌握C语言基础知识及技巧:
首先准备一台PC,学编程一般对PC没有太大的要求,一般主流的配置就好。
有了电脑之后,就得考虑安装什么操作系统了,主流使用的操作系统是windows,不过在这里不建议学习C编程使用windows,建议使用Linux。所以学习者最好安装双系统,或者彻底习惯Linux系统。
不管学习哪门编程语言,都建议学习者必须有一本关于此语言的全面知识的书籍,大一般采用的是谭浩强老师的《C语言程序设计》,还有 《C语言C++学习指南》从入门到精通(语法篇)视频课程在线学习等,建议学习者可以去仔细研读