本题要求编写程序,计算序列 1 + 1/3 + 1/5 + ... 的前N项之和。 输入格式: 输入在一行中给出一个正整数N。 输出格式: 在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后6位。题目保证计算结果不超过双精度范围。(c语言)
时间: 2024-11-09 14:20:42 浏览: 49
计算交错序列 1-23+35-47+59-611+... 的前N项之和 ——C语言代码
5星 · 资源好评率100%
这是一个经典的数学和编程问题,通常通过编写循环来解决。这里是一个简单的C语言程序来计算这个序列(调和级数的一部分)的前N项之和:
```c
#include <stdio.h>
#include <math.h>
double harmonic_sum(int N) {
double sum = 0.0;
for (int i = 1; i <= N; i++) {
// 计算分数并加到总和上
sum += 1 / (double)i;
}
return sum;
}
int main() {
int N;
scanf("%d", &N);
// 计算并保留6位小数
double result = harmonic_sum(N);
printf("sum = %.6f\n", result);
return 0;
}
```
在这个程序中,`harmonic_sum`函数负责计算和,它通过遍历从1到N的所有整数,并将每个分数1/i累加到`sum`变量上。主函数读取用户输入的N,调用`harmonic_sum`函数,然后按照指定格式输出结果。
阅读全文