用c++语言设计一个阶乘类recursion,重新调用运算符,计算一个正整数的阶乘
时间: 2023-05-23 08:03:36 浏览: 138
以下是用C语言设计的一个阶乘类递归函数,可以计算一个正整数的阶乘:
```c
#include <stdio.h>
int factorial(int n) {
if (n <= 1) {
return 1;
} else {
return n * factorial(n - 1);
}
}
int main() {
int n = 5;
int result = factorial(n);
printf("%d! = %d", n, result);
return 0;
}
```
这个程序的输出应该是 "5! = 120"。
相关问题
用c++设计一个阶乘类recursion,重载调用运算符,计算一个正整数的阶乘
以下是代码实现:
```c
#include<stdio.h>
class Factorial {
public:
int operator()(int n) const {
if (n == 0 || n == 1)
return 1;
else
return n * (*this)(n - 1); //重载调用运算符
}
};
int main() {
Factorial factorial;
printf("5! = %d\n", factorial(5)); //输出 5! 的值
return 0;
}
```
注意到这里我们是用类重载调用运算符,实现了对正整数的阶乘的递归,输出结果为:
```
5! = 120
```
设计一个阶乘类recursion,重载调用运算符,计算一个正整数的阶乘。
class Factorial{
public:
int operator()(int n){
if(n==0 || n==1) return 1;
return n*(*this)(n-1);
}
};
阅读全文