求交错序列前N项和(C语言)
习题2-4 求交错序列前N项和 (15 分)
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
输出样例:
0.917
分析:
交错序列 1-2/3+3/5-4/7+5/9-6/11+... 中:分子都是n本身,分母是2n-1;由此只需区分交错的正负数,而所用公式完全相同,所以可按n的奇偶性区分正负号。
C语言代码如下:
1 #include <stdio.h> 2 int main(){ 3 int n; 4 scanf("%d", &n); 5 float sum = 0; 6 for(int i = 1; i <= n; i++){ 7 if(i % 2 != 0){ 8 sum += i / (2 * i - 1.0); 9 } 10 else{ 11 sum -= i / (2 * i - 1.0); 12 } 13 } 14 printf("%.3f", sum); 15 return 0; 16 }