用c语言求1!+3!+~
时间: 2023-08-13 07:09:10 浏览: 120
以下是使用 C 语言计算 1! + 3! + ~ 的代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0 || n == 1) {
return 1;
}
else {
return n * factorial(n-1);
}
}
int main() {
int sum = 0;
int n = 3;
for (int i = 0; i <= n; i++) {
if (i % 2 == 0) {
sum += factorial(i);
}
else {
sum -= factorial(i);
}
}
printf("1! + 3! + ~ = %d\n", sum);
return 0;
}
```
这个程序中用到了递归函数 `factorial()` 来计算阶乘,然后使用循环计算出每一项的值,最终求和并输出结果。
相关问题
用c语言求3!+5!+8!
以下是用C语言求3!+5!+8!的代码:
```c
#include <stdio.h>
int main() {
int n1 = 3, n2 = 5, n3 = 8;
int i, j, num, sum = 0;
// 求3!,即1*2*3
num = 1;
for (i = 1; i <= n1; i++) {
num = num * i;
}
sum = sum + num;
// 求5!,即1*2*3*4*5
num = 1;
for (i = 1; i <= n2; i++) {
num = num * i;
}
sum = sum + num;
// 求8!,即1*2*3*...*8
num = 1;
for (i = 1; i <= n3; i++) {
for (j = 1; j <= i; j++) {
num = num * j;
}
sum = sum + num;
num = 1;
}
printf("%d\n", sum);
return 0;
}
```
C语言求1!+2!+3!用do+while
下面是使用do+while循环实现求1!+2!+3!的C语言代码:
```
#include <stdio.h>
int main() {
int n = 3;
int i = 1;
int sum = 0;
int fac = 1;
do {
fac *= i;
sum += fac;
i++;
} while (i <= n);
printf("1! + 2! + 3! = %d\n", sum);
return 0;
}
```
这段代码中,我们使用了do+while循环来实现求1!+2!+3!的和。首先,我们定义了变量n、i、sum和fac,其中n表示要求的阶乘的个数,i表示当前正在计算的阶乘的值,sum表示所有阶乘的和,fac表示当前正在计算的阶乘的值。
然后,我们使用do+while循环来计算1!+2!+3!的和。在循环中,我们首先计算当前阶乘的值,然后将其加入到sum中,最后将i加1,继续计算下一个阶乘的值,直到i大于n为止。
最后,我们使用printf函数输出1!+2!+3!的和。
阅读全文