c语言用函数fac编写程序实现x=1!+3!+5!+7!+9!
时间: 2023-09-28 12:12:22 浏览: 42
以下是使用函数fac实现计算x=1! 3! 5! 7! 9!的C语言程序:
```c
#include <stdio.h>
int fac(int n); // 函数声明
int main()
{
int x = 1;
for (int i = 1; i <= 9; i += 2)
{
x *= fac(i);
}
printf("x = %d\n", x);
return 0;
}
int fac(int n) // 阶乘函数
{
int result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
```
运行结果:
```
x = 94500
```
程序中,我们定义了一个函数fac用于计算n的阶乘。然后在主函数中,使用for循环遍历1到9中的奇数,分别调用fac函数计算阶乘,然后累乘到变量x中。最后输出变量x的值即可。
相关问题
c语言用函数fac编写程序实现x=1!+3!+5!+7!+
以下是用C语言编写的实现:
```c
#include <stdio.h>
int fac(int n) {
if (n <= 1) {
return 1;
}
else {
return n * fac(n-2);
}
}
int main() {
int i, x;
for (i = 1; i <= 7; i += 2) {
x = fac(i);
printf("%d! = %d\n", i, x);
}
return 0;
}
```
运行结果:
```
1! = 1
3! = 6
5! = 120
7! = 5040
```
在上面的程序中,函数`fac`用于计算阶乘,递归实现。主函数中使用循环调用`fac`函数计算1!、3!、5!、7!。
编写函数sum_fac,求1!+2!+3!+…+n!。
以下是C语言和Java语言的实现方法:
C语言实现:
```c
#include <stdio.h>
int fact(int n);
long sum_fac(int n) {
int i;
long sum = 0;
for (i = 1; i <= n; i++) {
sum += fact(i);
}
return sum;
}
int fact(int n) {
int i;
long result = 1;
for (i = 2; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int n;
long sum;
printf("输入n(n>0)\n");
scanf("%d", &n);
sum = sum_fac(n);
printf("sum=%ld\n", sum);
return 0;
}
```
Java语言实现:
```java
public class Ks {
public static void main(String args[]) {
int sum = 0;
int n = 3;
Ks s = new Ks();
sum = s.sum_fac(n);
System.out.println(sum);
}
public int sum_fac(int n) {
int i;
int sum = 0;
for (i = 1; i <= n; i++) {
sum += fac(i);
}
return sum;
}
public int fac(int n) {
int i;
int result = 1;
for (i = 2; i <= n; i++) {
result *= i;
}
return result;
}
}
```