Advertisement

编写n!的阶乘运算

阅读量:
复制代码
 #include<stdio.h>

    
 #define MAXSIZE 100
    
  
    
 int fac1(int n);
    
 int fac2(int n);
    
  
    
 void main()
    
 {
    
 	int f1,f2, n;
    
 	printf("请输入一个正整数(n<15):");
    
 	scanf("%d", &n);
    
 	printf("递归实现n的阶乘:");
    
 	f1 = fac1(n);
    
 	printf("n!=%4d\n", f1);
    
  
    
 	printf("利用栈非递归实现n的阶乘:");
    
 	f2 = fac2(n);
    
 	printf("n!=%4d\n", f2);
    
 }
    
  
    
 int fac1(int n)
    
 {
    
 	if (n == 1)
    
 		return 1;
    
 	else
    
 		return n*fac1(n - 1);
    
 }
    
  
    
 int fac2(int n)
    
 {
    
 	int s[MAXSIZE][2], top = -1;     

全部评论 (0)

还没有任何评论哟~