分别编写一个递归的和非递归的求阶乘的函数

[复制链接]
查看11 | 回复1 | 2006-5-8 10:18:24 | 显示全部楼层 |阅读模式
递规long jicheng(long a){
if (a==1||a==0)
return 1;
else
return (a*jicheng(a-1));
}
main(){
int a;
printf("输入需计算的数据:");
scanf ("%u",&a);
printf ("计算结果%u\n",jicheng(a));
system("PAUSE"); }非递规main(){
unsigned long i,a;
unsigned long acc;
printf("输入需计算的数据:");
scanf ("%u",&a);
acc = 1;
for (i=1;i<=a;i++)
acc = acc*i;
printf ("计算结果%u\n",acc);
system("PAUSE");}
回复

使用道具 举报

千问 | 2006-5-8 10:18:24 | 显示全部楼层
递归:long fact(int n){if(i==1||i==0)return 1;elsereturn n*fact(n-1);}非递归:long fact2(int n){long sum;for(int i=1;i<=n;i++)sum*=i;return sum;}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行