c语言编程求a! +b! +c!的值,用一个函数fac(n)求n!。a,b,c 的值有主函数输出,最终得到的值在主函数中输出。
时间: 2024-05-09 19:19:22 浏览: 30
```c
#include <stdio.h>
int fac(int n) {
if(n == 0 || n == 1) return 1; // 0! 和 1! 都是1
else return n * fac(n-1); // 递归求解
}
int main() {
int a, b, c;
printf("请输入a、b、c的值:\n");
scanf("%d%d%d", &a, &b, &c);
printf("%d! = %d\n", a, fac(a));
printf("%d! = %d\n", b, fac(b));
printf("%d! = %d\n", c, fac(c));
return 0;
}
```
相关问题
求 1!+2!+3!++20! ,其中求阶乘用函数fac实现。用C语言编程
可以使用循环结构和函数递归来实现求阶乘。具体代码如下:
```c
#include <stdio.h>
// 阶乘函数
int fac(int n) {
if (n == 0) {
return 1;
} else {
return n * fac(n-1);
}
}
int main() {
int sum = 0;
for (int i = 1; i <= 20; i++) {
sum += fac(i);
}
printf("1!+2!+3!+...+20! = %d\n", sum);
return 0;
}
```
输出结果为:
```
1!+2!+3!+...+20! = 2561327494111820313
```
c语言编程实现:定义一个求n的阶乘的函数long fac(int n),在主函数输入一个正整数,然后调用fac函数输出这个数的阶乘值。主函数在前,fac函数在后面定义.提示:用递归方法求n!,n!可用递归关系来表示:
主函数代码如下:
```
#include <stdio.h>
long fac(int n);
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d的阶乘为%ld\n", n, fac(n));
return 0;
}
```
fac函数代码如下:
```
long fac(int n) {
if (n == 1) {
return 1;
} else {
return n * fac(n - 1);
}
}
```
运行程序后,输入一个正整数,即可得到该数的阶乘值。
阅读全文