原
| #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



【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构