千梦


私信TA

用户名:dxy0325

访问量:1816

签 名:

兴趣是最好的老师

等  级
排  名 8873
经  验 1197
参赛次数 0
文章发表 18
年  龄 18
在职情况 学生
学  校 BSU
专  业 数据科学与大数据技术

  自我简介:

题目:

有一分数序列: 2/1 3/2 5/3 8/5 13/8 21/13......

求出这个数列的前N项之和,保留两位小数。


解题思路:

设分子为m,分母为n,定义为浮点类型,用两个变量辅助,a用来存储每一个m/n得到的值,b用来存储总值,b+=a,a,b都是浮点型,最后输出b

注:每次新的m=m+n;n=m-n;使用1次for循环即可

输入部分:N项




注意事项:
①分子分母也需要定义成浮点型,否则会丢失数据,如果有必要则换成double,相应的输入输出用%lf

②在编写代码之前应该先捋清思路,确定好需要使用多少变量,循环内容是什么,这样写起来会事半功倍

参考代码:

#include<stdio.h>
int main()
{
	float m=2.0,n=1.0;
	float a=0.0,b=0.0;
	int N;
	scanf("%d",&N);
	b=m/n;//第一项单独计算,不必强求把它放进循环
	for(int i=1;i<N;i++)
	{
	    m=m+n;
	    n=m-n;
	    a=m/n;
	    b+=a;
	    
	}
	printf("%.2f",b);
	return 0;
}


 

0.0分

0 人评分

  评论区

  • «
  • »