递归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 }
’

浙公网安备 33010602011771号