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 循环:先执行一次循环体,然后判断条件,适用于至少执行一次循环体的情况。

以上三种循环方式都可以用来计算一个数的阶乘,选择合适的循环取决于具体的需求和习惯。确保在计算阶乘时考虑到边界条件和数据范围,防止溢出或计算错误。