任务描述
本关任务:用循环和递归算法求 n(小于 10 的正整数) 的阶乘 n!
。
编程要求
请在右侧编辑器Begin-End
处补充代码,完成本关任务。
测试说明
平台会对你编写的代码进行测试,比对你输出的数值与实际正确数值,只有所有数据全部计算正确才能通过测试:
测试输入:10
预期输出:
递归算法求得10! = 3628800
循环算法求得10! = 3628800
#include <stdio.h> float fac_recursion(int n) { /********** Begin **********/ if(n==0) return 1; return n*fac_recursion(n-1); /********** End **********/ } float fac_loop(int n) { /********** Begin **********/ int i=1,y=1; for(i=1;i<=n;i++){ y=y*i; } return y; /********** End **********/ } void main() { int n; float y; scanf("%d",&n); y=fac_recursion(n); printf("递归算法求得%d! = %.0f \n",n,y); y=fac_loop(n); printf("循环算法求得%d! = %.0f \n",n,y); }