⑴ 怎样用c语言求斐波那契数列第n项的值
#include main( ){long f1,f2,f;int i,n;scanf("%d",&n);f1=f2=1;if(nf=1;elsefor(i=3;if=f1+f2;f1=f2;f2=f;}printf("%ld ",f);}
⑵ 请问c语言怎样全部输出斐波那契数列,不是只是输出某一项。
全部输出 ??? 即使宇宙灭亡了也输不完啊。。。
//这个可以输出46项,再往后就溢出了
#include<stdio.h>
int main()
{
int a=1,b=1,c=2;
printf("每按下Enter键显示一个数\n");
getchar();
printf("%d\n",a);
getchar();
printf("%d\n",b);
getchar();
printf("%d\n",c);
getchar();
while(1)
{
a=c+b;
printf("%d\n",a);
getchar();
b=c+a;
printf("%d\n",b);
getchar();
c=a+b;
printf("%d\n",c);
getchar();
}
return 0;
}
⑶ 有关C语言,用FOR循环来打印出斐波那契数列的前N项。
#include <math.h>
int main()
{
int m, x, a, b, c;
a = 1;
b = 1;
c = 2;
x = 1;
printf("m = ");
scanf("%d",&m);
getchar();
for(;x<=m;x++)
{
printf("%d ",a);
a = b;
b = c;
c = a+b;
x++;
}
getchar();
return 0;
}
我们也做这个的,m的意思是想要几个数字出现在屏幕上数字,就输入m = 几就可以了,希望可以帮到你
⑷ 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");
}
}
}
(4)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();
}
}
}
⑸ C语言,利用递归调用,编程输出斐波那契数列 ,这个怎么编啊,求指教啊
#include<stdio.h>
long fun(int i)//递归函数
{
if(i==1||i==2)//递归终止条件
return 1;
else//递归通式
return(fun(i-1)+fun(i-2));
}
int main()
{
int n;
printf("请输入项数:");
scanf("%d",&n);
printf("\n斐波那契数列前%d项为:\n",n);
for(int i=1;i<=n;i++)
{
printf("%ld\t",fun(i));//调用函数
if(i%5==0)//每输出5项换行
printf("\n");
}
return 0;
}
⑹ C语言输出第n~m项斐波那契数列
斐波拉契的当前像是前两项之和。
#include<stdio.h>
intfibonacci(intn)
{
if(n<=2)
return1;
returnfibonacci(n-1)+fibonacci(n-2);
}
intmain()
{
intn,m;
printf("inputnandm:");
scanf("%d%d",&n,&m);
printf("fibonaccin~m:");
for(inti=n;i<=m;i++)
printf("%d",fibonacci(i));
return0;
}
⑺ 求用C语言表达斐波那契数列
#include <stdio.h>
main( ){
long f1,f2,f;
int i,n;
scanf("%d",&n);
f1=f2=1;
if(n<=2)
f=1;
else
for(i=3;i<=n;i++){
f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld
",f);
}
⑻ 如何使用C语言输出Fibonacci数列
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i = 0;
int limit = 10; // 输出前10个fibonacci数
int pre1 = 1; // 当前计算值前面第二个fibonacci数
int pre2 = 1; // 当前计算值前面一个fibonacci数
int res; // 当前计算值
for (i; i < limit; i++)
{
if (i == 0 || i == 1)
{
// 前两个fibonacci数是1
printf("1 ");
}
else
{
res = pre1 + pre2;
printf("%d ", res);
pre1 = pre2;
pre2 = res;
}
}
return 0;
}
⑼ 用C语言编程 斐波那契数列:1,1,2,3,5,8,13…,输出前13项,每行输出5个数。
public class FeiBoMethod {
// 使用递归方法
private static int getSum(int num) {
if (num== 1 || num== 2)
return 1;
else
return getSum(num- 1) + getFibo(num- 2);
}
public static void main(String[] args) {
System.out.println("斐波那契数列的前13项为:");
for (int i = 1; i <= 13; i++) {
System.out.print(getSum(i) + " ");
if (i % 5 == 0)
System.out.println();
}
}
}
(9)c语言打印斐波那契数列扩展阅读:
使用数组的方式实现
publicclassFeiBoMethod{
//定义数组方法
publicstaticvoidmain(String[]args){
intarr[]=newint[13];
arr[0]=arr[1]=1;
for(inti=2;i<arr.length;i++){
arr[i]=arr[i-1]+arr[i-2];
}
System.out.println("斐波那契数列的前13项如下所示:");
for(inti=0;i<arr.length;i++){
if(i%5==0)
System.out.println();
System.out.print(arr[i]+"\t");
}
}
}
⑽ C语言进阶:求斐波那契数列
工具/材料
visual studio
- 01
求斐波那契数列有两种思路:循环与递归。我们首先来看循环的方式。为了与实际下标对应,我设置数组第一项为0。
- 02
对索引i的值进行判断:i==1,则令a[i]=1。否则a[i]=a[i-1]+a[i-2];
- 03
然后再添加一个打印函数,只需要打印第1-n项即可。
- 04
编写测试函数,用n=5与n=10测试,代码与结果如下:
- 05
在这里,我写出求第n项的函数,接下来只需要添加一个外函数就可以求出。
- 06
接下来,测试n=5与n=10,即依次调用递归函数计算每一个值。
- 07
运行的结果如下,与之前的循环一致。