c语言设计1+1/2+…
时间: 2023-11-23 18:07:14 浏览: 32
这个问题可以使用循环来实现。以下是一个C语言的例子:
```c
#include <stdio.h>
int main() {
int i;
double sum = 0;
for (i = 1; i <= 100; i++) {
sum = sum + 1.0 / i;
}
printf("sum=%lf", sum);
return 0;
}
```
需要注意的是,我们在计算1/i时,需要将1转换为浮点数,即1.0/i,这样才能得到正确的结果。另外,我们在定义sum时,需要使用double类型,以避免精度丢失。
相关问题
c语言设计s=1+1/2+1/3+…+1/n
以下是两种C语言设计s=1+1/2+1/3+…+1/n的例子:
1.使用for循环计算
```c
#include <stdio.h>
int main(void) {
int n = 0;
float sum = 1;
printf("请输入n: ");
scanf("%d", &n);
for (int i = 2; i <= n; i++) {
sum += 1.0 / i;
}
printf("1+1/2+1/3+...+1/%d=%f\n", n, sum);
return 0;
}
```
2.使用函数计算
```c
#include <stdio.h>
#include <stdlib.h>
int fac(int n) //阶乘函数
{
int i = 0;
int y = 1; //用来存返回值
if (0 == n || 1 == n) {
return 1;
} else {
for (i = 2; i <= n; i++) {
y *= i;
}
return y;
}
}
double sum(int n) //求和函数
{
int i = 0; //循环变量
double sum = 0; //和
for (i = 1; i <= n; i++) {
sum += 1.0 / fac(i);
}
return sum;
}
int main() {
int n = 0;
printf("请输入n: ");
scanf("%d", &n);
printf("sum = %lf\n", sum(n));
system("pause"); return 0;
}
```
、设计一个c语言程序,求:2/1+3/2+5/3+8/5+13/8+21/13----前20项之和。
以下是求解前20项的和的C语言程序:
```c
#include <stdio.h>
int main() {
float n = 2, m = 1, sum = 0, t;
int i;
for (i = 0; i < 20; i++) {
sum += n / m;
t = n;
n += m;
m = t;
}
printf("前20项之和为:%f\n", sum);
return 0;
}
```
程序中使用了循环语句for来计算前20项的和,其中n和m分别表示分数序列中的分子和分母,sum表示前20项的和。在每次循环中,先将当前项的分数加入到sum中,然后更新n和m的值,使其分别变为下一项的分子和分母。