S=1+1/2!+1/3!...+1/n!n由终端输入
时间: 2024-01-29 13:02:41 浏览: 29
以下是一个C语言的程序,用于计算S = 1 + 1/2! + 1/3! + ... + 1/n!,其中n由终端输入:
```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) // 求和函数
{
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;
}
```
相关问题
s = 1 + 1 / 2! + 1 / 3! + 1 / 4! + … + 1 / n!
以下是一个C语言的程序,用于计算 s = 1 + 1 / 2! + 1 / 3! + 1 / 4! + … + 1 / n!:
```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;
}
```
这个程序中,我们定义了两个函数:fac用于计算阶乘,sum用于计算s的值。在主函数main中,我们首先从终端输入n的值,然后调用sum函数计算s的值,并将结果打印出来。
编写函数计算s=1+1/2!+1/3!+…+1/n!
函数sum可以计算s=1+1/2!+1/3!+…+1/n!,其中n由终端输入,n!的计算在函数fac中实现。函数sum的代码如下:
```
double sum(int n) {
double s = 1.0;
for (int i = 2; i <= n; i++) {
s += 1.0 / fac(i);
}
return s;
}
```
其中,fac函数的定义如下:
```
int fac(int n) {
int f = 1;
for (int i = 2; i <= n; i++) {
f *= i;
}
return f;
}
```