用C语言写一个计算s=1-2!+3!-4!+…+n!程序
时间: 2024-04-15 20:21:11 浏览: 95
以下是用C语言编写计算s=1-2!+3!-4!+…+n!的程序:
```c
#include <stdio.h>
int main() {
int n, i, j, sign = 1;
long long fact = 1, sum = 0;
printf("请输入一个整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fact *= i;
if (i % 2 == 0) {
sign = -1;
} else {
sign = 1;
}
sum += sign * fact;
}
printf("s=%lld\n", sum);
return 0;
}
```
相关问题
用c语言编程求s=1/1!+1/2!+1/3!+......+1/n!,直到1/n!<=1e-6
以下是使用C语言编写的求和程序:
```c
#include <stdio.h>
int main() {
int n = 0;
double s = 0, f = 1;
while (1) {
f *= ++n;
if (1 / f <= 1e-6) {
break;
}
s += 1 / f;
}
printf("s = %lf\n", s);
return 0;
}
```
程序中,我们使用了一个循环来不断地计算阶乘和累加和。在每次循环中,我们先将n加1,然后计算n的阶乘,即f *= n。接着,我们判断1/n!是否小于等于1e-6,如果是,则跳出循环;否则,将1/f累加到s中。最后,输出累加和s的值。
c语言3.+编写程序计算下列S的值。 (1)+S=1-1/2+1/3-1/4+1/5+……-1/100 (2)+S=1!+2!+3!+……10! (3)+S=1/2+2/3+3/5+5/8+……++(
以下是三个C语言程序,分别计算了三个不同的数学公式的值:
1.计算1-1/2+1/3-1/4+1/5+……-1/100的值
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 100;
double sum = 0;
int flag = 1;
for (int i = 1; i <= n; i++)
{
sum += flag * 1.0 / i;
flag = -flag;
}
printf("%.4lf", sum);
return 0;
}
```
2.计算1!+2!+3!+……10!的值
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 10;
int sum = 0;
int fac = 1;
for (int i = 1; i <= n; i++)
{
fac *= i;
sum += fac;
}
printf("%d", sum);
return 0;
}
```
3.计算1/2+2/3+3/5+5/8+……的值
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n = 20;
double sum = 0;
int a = 1, b = 2;
for (int i = 1; i <= n; i++)
{
sum += (double)a / b;
int temp = b;
b = a + b;
a = temp;
}
printf("%.4lf", sum);
return 0;
}
```
阅读全文