用C语言求S=1+1/2+1/3 +1/100
时间: 2023-11-06 15:05:22 浏览: 135
以下是用C语言求S=1+1/2+1/3+...+1/100的代码:
```c
#include <stdio.h>
int main() {
double sum = 0;
for (int i = 1; i <= 100; i++) {
sum += 1.0 / i;
}
printf("S = %lf", sum);
return 0;
}
```
输出结果为:S = 5.187378
相关问题
c语言求s=1+1/1!+1/2!+1/3!+...+1/10!
以下是C语言求s=1+1/1!+1/2!+1/3!+...+1/10!的代码和注释解释:
```c
#include <stdio.h>
int main() {
int i, j;
double s = 0, factorial = 1; // 定义变量s和factorial,s用于存储求和结果,factorial用于存储阶乘
for (i = 1; i <= 10; i++) { // 循环10次,分别计算1/1!、1/2!、1/3!、...、1/10!
factorial *= i; // 计算i的阶乘
s += 1 / factorial; // 将1/i!加入到s中
}
printf("s = %lf\n", s); // 输出结果
return 0;
}
```
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;
}
```