c语言编程求a! +b! +c!的值,用一个函数fac(n)求n!。a,b,c 的值有主函数输出,最终得到的值在主函数中输出。
时间: 2024-05-05 19:17:15 浏览: 19
以下是使用递归函数fac(n)求a!、b!、c!的值的代码:
```c
#include <stdio.h>
// 递归函数求n的阶乘
int fac(int n) {
if (n == 0 || n == 1) {
return 1;
} else {
return n * fac(n - 1);
}
}
int main() {
int a, b, c;
printf("请输入a, b, c的值:");
scanf("%d %d %d", &a, &b, &c);
int fa = fac(a);
int fb = fac(b);
int fc = fac(c);
printf("%d! = %d\n", a, fa);
printf("%d! = %d\n", b, fb);
printf("%d! = %d\n", c, fc);
return 0;
}
```
运行程序后,输入a、b、c的值,程序会输出a!、b!、c!的值,例如:
```
请输入a, b, c的值:3 4 5
3! = 6
4! = 24
5! = 120
```
相关问题
c语言通过函数调用的方式求取a!+b!+c!+m!
以下是C语言通过函数调用的方式求取a!+b!+c!+m!的例子:
```c
#include <stdio.h>
int fac(int n) { // 定义求阶乘的函数
int res = 1;
for (int i = 1; i <= n; i++) {
res *= i;
}
return res;
}
int sum(int a, int b, int c, int m) { // 定义求和的函数
return fac(a) + fac(b) + fac(c) + fac(m);
}
int main() {
int a, b, c, m;
printf("请输入a, b, c, m的值:");
scanf("%d%d%d%d", &a, &b, &c, &m);
printf("a!+b!+c!+m!=%d\n", sum(a, b, c, m));
return 0;
}
```
c语言中如何求1!+2!+3!+……+N!的值
使用循环结构和递归两种方法来求解1!+2!+3!+……+N!的值。
方法一:循环结构
```c
#include <stdio.h>
int main()
{
int n, i, j, sum = 0, fac = 1;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fac = 1;
for (j = 1; j <= i; j++)
{
fac *= j;
}
sum += fac;
}
printf("1!+2!+3!+...+n!的值为:%d\n", sum);
return 0;
}
```
方法二:递归
```c
#include <stdio.h>
int factorial(int n)
{
if (n == 1)
{
return 1;
}
else
{
return n * factorial(n - 1);
}
}
int main()
{
int n, i, sum = 0;
printf("请输入n的值:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
sum += factorial(i);
}
printf("1!+2!+3!+...+n!的值为:%d\n", sum);
return 0;
}
```