c语言输入1/2+1/3+1/4+……+1/100求和
时间: 2023-11-13 13:03:45 浏览: 243
这道题目可以使用引用中提到的思路,使用for循环遍历打印出分数,进行正负数间隔转换,最后求和即可。具体代码实现如下:
```
#include <stdio.h>
int main() {
int i = 0;
double sum = 0.0;
int sign = 1;
for (i = 2; i <= 100; i++) {
sum += sign * 1.0 / i;
sign = -sign;
}
printf("%lf", sum);
return 0;
}
```
相关问题
用c语言求1/1+1/2+2/3+3/5+5/8+8/13+13/21+21/34……的前n项的和。
以下是用 C 语言实现求和的代码:
```c
#include <stdio.h>
int main() {
int n, i;
double a = 1, b = 1, sum = 0, t;
printf("请输入要求和的项数:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
sum += a / b;
t = a + b;
a = b;
b = t;
}
printf("前%d项的和为:%.2lf\n", n, sum);
return 0;
}
```
解释一下代码:首先,我们定义了变量 n 表示要求和的项数,i 为循环计数器,a 和 b 分别表示数列中的分子和分母,sum 为累加和,t 为临时变量。
然后,我们使用 printf 和 scanf 函数分别输出和输入提示信息和要求的项数。
接着,我们使用 for 循环计算每一项的值,并将其累加到 sum 中。在每一轮循环中,我们先将 a/b 加到 sum 中,然后计算下一项的分子和分母,即 a+b 和 b,最后将 a 和 b 更新为下一项的分子和分母。
最后,我们使用 printf 函数输出结果。注意,由于题目要求保留两位小数,我们在输出时使用了格式控制符 "%.2lf"。
从键盘输入一个正整数n,求 S=1/1+1/2+1/3+……+1/n,保留2位小数。C语言
实现如下:
```c
#include <stdio.h>
int main() {
int n;
float s = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
s += 1.0 / i;
}
printf("S=%.2f", s);
return 0;
}
```
解释:先输入一个正整数n,然后使用循环语句求和。循环从1到n,每次加上1/i,最后输出结果。需要注意的是,1/i 中的 i 是整数,需要用 1.0/i 将其转换为浮点数,确保计算结果的精确性。