写一个能计算阶乘的c++代码
时间: 2023-05-19 18:06:02 浏览: 68
以下是能计算阶乘的C代码:
```c
#include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * factorial(n-1);
}
}
int main() {
int n;
printf("请输入一个正整数:");
scanf("%d", &n);
printf("%d的阶乘是%d\n", n, factorial(n));
return 0;
}
```
该代码使用递归的方式计算阶乘,如果输入的是0,则返回1。否则,返回n乘以n-1的阶乘。
相关问题
写一个用栈实现递归计算阶乘的c++代码
好的,下面是用栈实现递归计算阶乘的c++代码:
```c++
#include <iostream>
#include <stack>
using namespace std;
int factorial(int n) {
stack<int> s;
s.push(n);
int result = 1;
while (!s.empty()) {
int x = s.top();
s.pop();
result *= x;
if (x > 1) {
s.push(x - 1);
}
}
return result;
}
int main() {
int n;
cout << "请输入一个整数:";
cin >> n;
cout << n << "的阶乘是:" << factorial(n) << endl;
return 0;
}
```
希望对您有帮助!
用C++写一个10的阶乘的代码
### 回答1:
以下是用 C 语言写的计算 10 的阶乘的代码:
```c
#include <stdio.h>
int main() {
int n = 10;
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
printf("%d\n", result);
return 0;
}
```
这个程序会输出 10 的阶乘的结果,即 3628800。
### 回答2:
下面是用C语言编写计算10的阶乘的代码:
```c
#include <stdio.h>
int main() {
int num = 10;
int factorial = 1;
for(int i = 1; i <= num; i++) {
factorial *= i;
}
printf("10的阶乘为:%d\n", factorial);
return 0;
}
```
以上代码使用了一个`for`循环来计算10的阶乘。开始时,将`num`变量设置为10,将`factorial`变量设置为1。然后,循环从1到10,每次将`i`乘以`factorial`,并将结果赋值给`factorial`。循环结束后,`factorial`的值就是10的阶乘。最后,使用`printf`函数输出结果。
运行以上代码,将会打印出结果:10的阶乘为:3628800。
### 回答3:
要用C语言编写求10的阶乘的代码,可以使用循环结构来实现。以下是一个示例代码:
```c
#include <stdio.h>
int main() {
int num = 10;
int result = 1;
for(int i = 1; i <= num; i++) {
result *= i;
}
printf("%d的阶乘为:%d\n", num, result);
return 0;
}
```
在这个代码中,我们先定义了一个变量`num`来存储需要求阶乘的数,这里是10。然后我们定义了一个变量`result`来存储最终的阶乘结果,初值为1。
接下来,通过一个`for`循环,从1开始逐个乘以`i`,直到`i`等于`num`,每次循环都将结果乘以当前的`i`,最终得到阶乘结果。
最后,使用`printf`函数将结果输出到屏幕上。
运行结果为:
```
10的阶乘为:3628800
```
这就是用C语言编写求10的阶乘的代码。