写一个c语言求1+1/2+1/3+...+1/n的和
时间: 2023-09-12 21:05:11 浏览: 92
请看下面的代码:
```c
#include<stdio.h>
int main(){
int n;
double sum=0;
scanf("%d",&n);
for(int i=1;i<=n;i++){
sum+=1.0/i;
}
printf("%.2lf",sum);
return 0;
}
```
解释一下代码:首先定义变量n表示求和的最大项数,sum表示累加的和,然后通过scanf函数输入n,最后用循环计算1+1/2+1/3+...+1/n的和并输出。需要注意的是,循环时需要将1.0除以i,保证结果是浮点数类型,否则会出现精度问题。另外,输出时使用%.2lf格式化输出,保留两位小数。
相关问题
C语言求1+1/2+1/3+....+1/n之和
以下是C语言求1+1/2+1/3+....+1/n之和的程序:
```c
#include <stdio.h>
int main() {
int n;
float sum = 0;
printf("请输入一个通项n:\n");
scanf("%d", &n); // 读取用户输入
for (int j = 1; j <= n; j++) {
sum = sum + 1.0 / j;
}
printf("前%d项的和为%.3f", n, sum);
return 0;
}
```
用户需要输入一个整数n,程序会计算1+1/2+1/3+....+1/n的和,并输出结果。其中,sum变量用于存储和的值,j变量用于循环计算每一项的值。
c语言求1+1/3+1/5+..+1/n
以下是C语言求1+1/3+1/5+..+1/n的代码:
```c
#include <stdio.h>
int main() {
int n;
double sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (int i = 1; i <= n; i += 2) {
sum += 1.0 / i;
}
printf("sum=%lf", sum);
return 0;
}
```
代码解释:
1. 首先定义变量n表示求和的最大值,sum表示求和的结果。
2. 通过scanf函数获取用户输入的n的值。
3. 使用for循环从1开始,每次加2,直到i大于n为止,这样就可以保证只加奇数项。
4. 在循环中,每次将1/i加到sum中。
5. 最后输出sum的值。