习题2-4 求交错序列前N项和

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/melody_1016/article/details/82415230

习题2-4 求交错序列前N项和(15 分)

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

输入格式:

输入在一行中给出一个正整数N。

输出格式:

在一行中输出部分和的值,结果保留三位小数。

输入样例:

5

输出样例:

0.917

分析:本题与练习2-15求简单交错序列前N项和的思路一致,具体可参见那篇博客https://blog.csdn.net/melody_1016/article/details/82320590

代码:

(1)

//方法一:设置flag为int类型,表示整体正负的符号位
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int n = 0; 
	int i = 0;
	double sum = 0;
	int flag = 1;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		sum = sum + 1.0*flag*i / (2 * i - 1);
		flag = -flag;
	}
	printf("%.3f\n", sum);
	system("pause");
	return 0;
}

(2)

//方法二:令分子成为浮点数
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
	int n = 0;
	int i = 0;
	double sign = 1.0;
	double sum = 0;
	scanf("%d", &n);
	for (i = 1; i <= n; i++)
	{
		sum = sum + sign*i / (2 * i - 1);
		sign = -sign;
	}
	printf("%.3f\n", sum);
	system("pause");
	return 0;
}

测试结果:

猜你喜欢

转载自blog.csdn.net/melody_1016/article/details/82415230