c语言自练,OJ系统第二十五题。
题目描述
本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。
输入
输入在一行中给出一个正整数N。
输出
在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。
样例输入
23
样例输出
sum = 2.549541
注意输出要求,应当是每次循环中都为保存6位小数,所以应该将i单独取范围,不能用2*i-1去规定,正确写法如下:
#include<stdio.h>
int main()
{
int i, N;
double sum = 0;
scanf("%d", &N);
for (i = 1; i<= 2 * N - 1; i+=2)
{
sum = sum + 1.0 / i;
}
printf("sum = %.6lf", sum);
return 0;
}