C语言编程 递归和非递归分别实现求n的阶乘
<1>非递归
主要思想是设计累乘器,通过对自身每一次改变的乘积就是结果
#include<stdio.h>#include<stdlib.h>int main(){ int number, m,result=1; printf("请输入要计算的阶乘数\n"); scanf("%d", &number); for (m = 1; m <= number; m++) { result *= m; } printf("%d", result); system("pause"); return 0;}
<2>递归
具体参照https://blog.51cto.com/14232799/2377394
与其中的递归方法类似
#include<stdio.h>#include<stdlib.h>int Fac(int n){ if (n == 1) { return 1; } return n*Fac(n - 1);}int main(){ int number,result; printf("请输入要计算的阶乘\n"); scanf("%d", &number); result = Fac(number); printf("%d", result); system("pause"); return 0;}
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。