【ZZULIOJ】1042: 数列求和3

ZZULIOJ题解

1042: 数列求和3

题目描述
求1-2/3+3/5-4/7+5/9-6/11+…的前n项和,结果保留3位小数。

输入
输入正整数n(n>0)。

输出
输出一个实数,保留3位小数,单独占一行。

样例输入

3

样例输出

0.917

本题是对循环语句的考察,这里的几个数列求和,考察了阶乘如何依靠循环来实现,这里的分子也开始发生变化,注意下数据要求处理就好了

代码

#include<stdio.h>
int main()
{
    
	int n,i;//定义数字n和循环次数i
	double z,m,sum,f;//定义分子z和分母m以及和sum,还有符号f
	scanf("%d",&n);//键盘输入数字n的值
	sum=0,m=1,z=1,f=1;//给分子分母和赋初值,这个操作也可以在定义时实现
	for(i=1;i<=n;i++)//循环n次
	{	
		sum=sum+f*z/m;//sum每次进行累加计算
		m=m+2;//分母每次+2
		z=z+1;//分子每次加1
		f=-f;//符号每次改变一次
	}
	printf("%.3lf",sum);//输出结果h的值,保留三位小数
	return 0;//程序正常退出
}
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页