习题2-4 求交错序列前N项和 (15分)
本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+… 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
这里是引用
输出格式:
在一行中输出部分和的值,结果保留三位小数。
这里是引用
输入样例:
5
输出样例:
0.917
*因为在for循环里给flag赋值为-1,在开始的调试中一直出错,仔细检查一遍后发现了这个错误,希望看到文章的小伙伴也要注意啊!!! *
#include <stdio.h>
int main(){
// 1.输入正整数N
int N,i;
double sum = 0;
// 2.因为有正有负,定义一个标志位
int flag = 1;
int targ = 1;
scanf("%d",&N);
for(i = 1; N != 0; i++,N--){
// 3.求和
sum += 1.0 * i * flag / targ;
flag = -flag;//注意这里一定不要用flag = -1
targ = targ + 2;
}
printf("%.3f",sum);
return 0;
}