n的阶乘c++ 用 do while循环做出来
时间: 2024-10-20 08:12:44 浏览: 48
几种循环的比较-C++程序讲解
在C++中,你可以使用do-while循环来计算一个数n的阶乘。阶乘是指从1到该数的所有整数相乘的结果。以下是使用do-while循环的一个示例:
```cpp
#include <iostream>
int factorial(int n) {
int result = 1;
// 使用do-while确保至少执行一次循环
do {
result *= n;
n--;
} while (n > 0); // 当n大于0时继续循环
return result;
}
int main() {
int num;
std::cout << "请输入一个正整数: ";
std::cin >> num;
if (num >= 0) {
long long fact = factorial(num);
std::cout << "该数的阶乘是: " << fact << std::endl;
} else {
std::cout << "输入错误,只能计算非负整数的阶乘." << std::endl;
}
return 0;
}
```
在这个代码中,`factorial`函数通过do-while循环不断将结果乘以当前的n值,然后减小n直到n变为0。如果用户输入的是负数,main函数会给出错误提示。
阅读全文