C++使用while for do...while分别计算一个数字的阶乘
计算一个数字的阶乘可以使用 while
循环、for
循环和 do...while
循环来实现。阶乘的定义是一个数 n 的阶乘(n!)等于从 1 到 n 的所有整数的乘积。
使用 while 循环计算阶乘
cpp#include <iostream>
int main() {
int n;
std::cout << "Enter a number: ";
std::cin >> n;
int factorial = 1;
int i = 1;
while (i <= n) {
factorial *= i;
i++;
}
std::cout << "Factorial of " << n << " is: " << factorial << std::endl;
return 0;
}
使用 for 循环计算阶乘
cpp#include <iostream>
int main() {
int n;
std::cout << "Enter a number: ";
std::cin >> n;
int factorial = 1;
for (int i = 1; i <= n; i++) {
factorial *= i;
}
std::cout << "Factorial of " << n << " is: " << factorial << std::endl;
return 0;
}
使用 do...while 循环计算阶乘
cpp#include <iostream>
int main() {
int n;
std::cout << "Enter a number: ";
std::cin >> n;
int factorial = 1;
int i = 1;
do {
factorial *= i;
i++;
} while (i <= n);
std::cout << "Factorial of " << n << " is: " << factorial << std::endl;
return 0;
}
解释和注意事项
- while 循环:先判断条件,然后执行循环体。
- for 循环:包含初始化、循环条件和循环迭代三个部分,更适合已知循环次数的情况。
- do...while 循环:先执行一次循环体,然后判断条件,适用于至少执行一次循环体的情况。
以上三种循环方式都可以用来计算一个数的阶乘,选择合适的循环取决于具体的需求和习惯。确保在计算阶乘时考虑到边界条件和数据范围,防止溢出或计算错误。