C语言用while编写1!+2!+...+n!
时间: 2023-10-08 08:08:19 浏览: 54
好的,我可以帮你解答关于C语言用while编写1! 2! ... n! 的问题。以下是代码示例:
#include <stdio.h>
int main()
{
int n, i = 1;
unsigned long long factorial = 1;
printf("请输入一个正整数:");
scanf("%d",&n);
// 循环计算 n 的阶乘
while (i<=n)
{
factorial *= i;
i++;
}
printf("%d 的阶乘为 %llu", n, factorial);
return 0;
}
这段代码可以让用户输入一个正整数 n,然后使用 while 循环计算 n 的阶乘,并输出结果。希望可以帮到你。
相关问题
利用公式+e=1+11!+12!+13!+...+1n!e=1+11!+12!+13!+...+1n!,+求+ee。c语言
根据提供的引用,可以使用C语言编写程序求无理数e的值并输出,计算公式为:e=1+1/1!+1/2!+1/3!+...+1/n!,当1/n! < 0.000001时e=2.718282。
以下是C语言程序的示例代码:
```c
#include <stdio.h>
double factorial(int n) { // 递归实现阶乘
if (n == 0 || n == 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
double e = 1;
double item = 1;
int n = 1;
while (item >= 0.000001) {
item = 1.0 / factorial(n);
e += item;
n++;
}
printf("e = %lf\n", e);
return 0;
}
```
运行结果为:
```
e = 2.718282
```
用C语言编写的使用do-while循环计算S=1+1/1!+1/2!+1/3!+...+1/n!的程序:
下面是使用C语言编写的使用do-while循环计算S=1+1/1!+1/2!+1/3!+...+1/n!的程序:
```c
#include <stdio.h>
int main() {
int n, i = 1;
double s = 1, t = 1;
printf("请输入n的值:");
scanf("%d", &n);
do {
t *= i;
s += 1 / t;
i++;
} while (i <= n);
printf("S的值为:%lf\n", s);
return 0;
}
```
该程序使用了一个do-while循环,先计算出每个阶乘的值,再将每个阶乘的倒数加到S中,最后输出S的值。