C语言编程由用户从键盘输入n,求1+1/2+1/3+…1/n之和并输出
时间: 2024-10-20 20:14:22 浏览: 23
C语言编程-编写函数fun求1!+2!+3!+ …… +n!的和,在main函数中由键盘输入n值,并输出运算结果;
5星 · 资源好评率100%
在C语言中,计算1到n的所有倒数之和是一个常见的数学计算题,可以使用循环和累加的方式来实现。下面是一个简单的示例:
```c
#include <stdio.h>
#include <math.h> // 引入math库以获取sqrt函数
double sum_of_reciprocals(int n) {
double sum = 0; // 初始化总和为0
for (int i = 1; i <= n; i++) { // 循环从1到n
sum += 1.0 / i; // 每次将1/i加到sum上
}
return sum;
}
int main() {
int n;
printf("请输入一个正整数n: ");
scanf("%d", &n);
if (n <= 0) {
printf("错误!输入值必须大于0。\n");
return 1; // 结束程序,因为负数或零没有意义
}
double result = sum_of_reciprocals(n);
printf("1到%d的所有倒数之和为: %.2f\n", n, result); // 输出结果保留两位小数
return 0;
}
```
在这个程序中,我们首先计算每一步的倒数 `1/i`,然后将其累加到总和 `sum` 上。最后,在主函数中获取用户输入的 `n` 并检查其有效性,然后调用 `sum_of_reciprocals` 函数并显示结果。
阅读全文