递归and循环求n!。。。

 1 #include<stdio.h>
 2 int fun(int n)
 3 {
 4     if(n==1) //递归终止条件 
 5         return 1;
 6     return n*fun(n-1);//关键 
 7 }
 8 int main()
 9 {
10     int n;
11     scanf("%d",&n);//输入n 
12     printf("%d\n",fun(n));
13     return 0;
14 }

这个比较简单,刚刚接触递归朋友认真推几步就行了,不要总想着弄清每一步嘛,那你得多累啊,最终井尽人亡oo,试试宏观的看看。

下面不用递归求,用循环也很简单,代码给你呈上。。。

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n;
 5     int sum=1;//保存n!的值 
 6     scanf("%d",&n);
 7     for(int i=1;i<=n;i++)
 8     {
 9         sum*=i;
10     } 
11     printf("%d\n",sum);
12     return 0;
13 } 

 

posted @ 2020-03-24 20:23  梦娃子  阅读(441)  评论(0)    收藏  举报