斐波那契数列求和——C语言(小白版)

**

斐波那契数列求和——C语言(小白版)

**

题目要求

斐波那契数列 1, 1, 2, 3, 5, 8, 13, 21, 34……不难发现当n>2时,an=an-1+an-2

要求:当屏幕输入n(n>2)时,输出前n项以及前n项的和。

注意!我们不使用递归,也不用数组等等,我们就是学过前三章的小白!那如何通过C语言去解决?

编程软件

Visual Studio 2015
编译运行:Ctrl + F5
快速注释:Ctrl + K再按:Ctrl + C
取消注释:Ctrl + K再按:Ctrl + U

开始编程

//输入n,输入前n项,以及前n项和//
#include <stdio.h>
int main()
{
	int n,i,t;
	int sum = 0,flag = 0;         //flag为换行标记
	int a1 = 1, a2 = 1;           //前两项先列出来
	printf("请输入所需要的项数:");
	scanf("%d", &n);
	printf("%d %d ", a1, a2);
	for (i = 3; i <= n; i++)      //从第三项开始
	{
		t = a1 + a2;
		printf("%d ", t);
		sum = sum + t;            
		a1 = a2;                  //注意这里的写法,赋值,产生新的a1、a2
		a2 = t;
		//flag++;
		//if (flag % 5 == 0)      //原本想每5个输出一行,但是我之前先输出了a1、a2
		//	printf("\n");         //导致第一行有7个,并不能完成每5行输出的任务
		                          //放在这里让大家解决,感觉会麻烦一点
	}
	printf("\n\n前%d项和为:%d\n", n, sum+2);   //注意这里的sum需要加上初值的2
	return 0;
}

运行结果

请输入所需要的项数:7

1 1 2 3 5 8 137项和为:33

写在最后

1、亲自手打,输入编译器进行尝试,尝试更换不同的 n ,观察不同的结果;
2、尝试升级算法,在原有基础上改变部分代码,实现更丰富的功能;
3、欢迎留言,等后期学到了新的技能,尝试用数组、函数等方法实现。

  • 53
    点赞
  • 129
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值