本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。
输入格式:
输入在一行中给出一个正整数N。
输出格式:
在一行中输出部分和的值,结果保留三位小数。
输入样例:
5
结尾无空行
输出样例:
0.917
结尾无空行
while循环
这里采用了while循环进行编写,当然for循环也同样可以进行编写。
可以进行观察一下for跟while在使用过程中有什么不同 。
#include<stdio.h>
int main(void)
{
int i, n, flag;
double sum;
flag = 1;
sum = 0;
i = 1;
scanf("%d", &n);
while(i<=n)
{
sum = sum+flag*1.0*i/(2*i-1);
i ++;
flag = -flag;
}
printf("%.3f", sum);
return 0;
}
for循环
#include<stdio.h>
int main(void)
{
int i, n, flag;
double sum;
flag = 1;
sum = 0;
scanf("%d", &n);
for(i = 1;i<=n;i++)
{
sum = sum+flag*1.0*i/(2*i-1);
flag = -flag;
}
printf("%.3f", sum);
return 0;
}