#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int i = 0;
int n = 0;
int n1 = 1;
int n2 = 1;
int m = 0;
int sum1= 0;
int sum2= 0;
int sum3= 0;
printf("请输入斐波那契的项数:\n");
scanf(" %d", &n);
printf("斐波那契数列为:\n");
if(n>=1)
{
printf("%d ",n1);
sum1 = n1;
}
if (n >= 2)
{
printf("%d ",n2);
sum2 = n2;
}
if (n >= 3)
{
for (i = 3; i <= n; i++)
{
m = n1 + n2;
printf("%d ", m);
sum3 = sum3 + m;
n1 = n2;
/*printf("%d ", n1);*/
n2 = m;
/* printf("%d\n ", n2);*/
}
printf("\n");
}
n1 = 1;
n2 = 1;
printf("所有项的和为:%d\n",sum1+sum2+sum3);
return 0;
}
添加数组解法,能做到第92项
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
long long int i;
long long int n;
long long int sum = 0;
printf("请输入斐波那契项数:\n");
scanf(" %lld", &n);
long long int a[100];//n,行列数不能大于100
for (i = 0; i < n; i++)
{
if (i == 0 || i == 1)
{
a[i] = 1;
printf("%lld ", a[i]);
}
if (i > 1 )
{
a[i] = a[i - 1]+a[i -2];
printf("%lld ", a[i]);
}
sum += a[i];
}
printf("各项和为:%lld ", sum);
return 0;
}