c++根据用户输入的n值, 用for 语句、do...while语句、while语句实现求n的阶乘。
时间: 2024-11-22 15:45:29 浏览: 22
在C++中,你可以使用三种循环结构(for、do-while 和 while)来计算给定数n的阶乘。这里分别给出示例:
1. **使用for循环**:
```cpp
#include <iostream>
int factorial(int n) {
int result = 1;
for (int i = 1; i <= n; ++i) {
result *= i;
}
return result;
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
int fact = factorial(n);
std::cout << "n的阶乘是: " << fact << std::endl;
return 0;
}
```
2. **使用do...while循环**:
```cpp
#include <iostream>
int factorial(int n) {
int result = 1;
do {
result *= ++i;
} while (i <= n);
return result;
}
int main() {
int n, i = 1;
std::cout << "请输入一个正整数: ";
std::cin >> n;
int fact = factorial(n);
std::cout << "n的阶乘是: " << fact << std::endl;
return 0;
}
```
注意,在do...while循环里,`i`变量在循环体内部被自增,所以需要先初始化。
3. **使用while循环**:
```cpp
#include <iostream>
int factorial(int n) {
int result = 1, i = 1;
while (i <= n) {
result *= i;
++i;
}
return result;
}
int main() {
int n;
std::cout << "请输入一个正整数: ";
std::cin >> n;
int fact = factorial(n);
std::cout << "n的阶乘是: " << fact << std::endl;
return 0;
}
```
阅读全文