原
| #include <stdio.h> |
| int main(){ |
| int n; |
| int sum = 1; |
| printf("输入数字:"); |
| scanf("%d", &n); |
| for (int i = 1;i <= n ;i++ ) { |
| sum *= i; |
| } |
| printf("%d的阶乘为%d\n", n, sum); |
| |
| return 0; |
| } |
优化
| #include <stdio.h> |
| |
| int main() { |
| int num; |
| int factorial = 1; |
| |
| printf("输入数字:"); |
| scanf("%d", &num); |
| |
| if (num <= 0) { |
| printf("无效输入!请输入一个正整数。\n"); |
| return 1; |
| } |
| |
| for (int i = 1; i <= num; i++) { |
| factorial *= i; |
| } |
| |
| printf("%d的阶乘为%d\n", num, factorial); |
| |
| return 0; |
| } |
| |
递归
| #include <stdio.h> |
| |
| int factorial(int n) { |
| if (n == 0 || n == 1) { |
| return 1; |
| } |
| return n * factorial(n - 1); |
| } |
| |
| int main() { |
| int num; |
| |
| printf("输入数字:"); |
| scanf("%d", &num); |
| |
| if (num < 0) { |
| printf("无效输入!请输入一个非负整数。\n"); |
| return 1; |
| } |
| |
| int result = factorial(num); |
| printf("%d的阶乘为%d\n", num, result); |
| |
| return 0; |
| } |
| |
for 与 while ,do while



【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
【推荐】AI 的力量,开发者的翅膀:欢迎使用 AI 原生开发工具 TRAE
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战