C语言 计算一个数的阶乘两种方法
// ConsoleApplication15.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <stdio.h>
using namespace std;
long fact(int n);//使用循环方法
long rfact(int n);//使用递归方法
int main(void)
{
int num;
printf("This program calculates factorials\n");
printf("Enter a value in the range 1-12 (q to quit)\n");
while (scanf_s("%d",&num)==1)
{
if (num < 0)
{
printf("No negative numbers,please.\n");
}
else if (num>12)
{
printf("Keep input under 13\n");
}
else
{
printf("loop:%d factorial =%ld\n", num, fact(num));
printf("recuresion :%d factorial = %ld\n", num, rfact(num));
}
printf("Enter a value in tha range 1-12(q to quit)\n");
}
printf("Bye\n");
return 0;
}
long fact(int n) {
long ans;
for ( ans = 1; n > 1 ; n--)
{
ans *= n;
}
return ans;
}
long rfact(int n) {
long ans;
if (n > 0)
{
ans = n * rfact(n - 1);
}
else
{
ans = 1;
}
return ans;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构