ACMNO.12有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。 输入 N 输出 数列前N项和 样例输入 10

版权声明:转载请声明原文链接地址,谢谢! https://blog.csdn.net/weixin_42859280/article/details/84931794

题目描述

有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13...... 求出这个数列的前N项之和,保留两位小数。

输入

N

输出

数列前N项和

样例输入

10

样例输出

16.48

来源/分类

C语言 

题目截图:
在这里插入图片描述
思路:

看到这个题瞬间就有了思路,
	s+=(b*1.0)/c;
 	t=b;
	b=b+c;
	c=t;
只是一开始,我没有搞那个大众都说的一个temp的东西!
导致赋值过程出错!
一直是整数跟整数相除!没有浮点数的出现。
后来尝试了一下,这个语句就成功啦!
可能这个问题跟编译器种类有关的,我的是dev-c++。就会出现这个问题!
printf("s   %.2f\n",s);
对呀,就是printf("%.2f").这个是小数点保留几位就写阿拉伯数字几~
	

代码:

#include<iostream>
 using namespace std;
 int main()
 {
 double a,b,c,t;int i;
 double s;b=2.0;c=1.0;
 	//printf("%.2f\n",s);
 	//printf("%.2f\n",b);
 //	printf("%.2f\n",c);
//	cout<<endl;
 cin>>a;
 for(i=1;i<=a;i++)
 {
 	s+=(b*1.0)/c;
 	t=b;
	b=b+c;
	c=t;
 	//printf("s   %.2f\n",s);
 //	printf("%.2f\n",b);
 //	printf("%.2f\n",c);
}
printf("%.2f",s);
}

代码截图:
在这里插入图片描述
代码执行情况截图:
在这里插入图片描述
OJ结果:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42859280/article/details/84931794