栈实现阶乘函数
2010-04-06 13:13
169 查看
#include <stdio.h>
#include <malloc.h>
#include <stdlib.h>
#define overflow 1
typedef struct Stack{
void InitStack(int n);
int *base;
int *top;
};
Stack InitStack(Stack *S)/*初始化栈*/
{
S->base = (int *)malloc(100 * sizeof(int));
if(! S->base)
exit(overflow);
S->top = S->base;
return *S;
}
void main()
{
int m;
int n;
Stack OPND;
InitStack(&OPND);
scanf("%d",&n);
*OPND.top=1;
OPND.top++;
for(m=2;m<=n;m++)
{
*OPND.top=*(OPND.top-1)*m;
OPND.top++;
}
printf("%d",*(OPND.top-1));
}
#include <malloc.h>
#include <stdlib.h>
#define overflow 1
typedef struct Stack{
void InitStack(int n);
int *base;
int *top;
};
Stack InitStack(Stack *S)/*初始化栈*/
{
S->base = (int *)malloc(100 * sizeof(int));
if(! S->base)
exit(overflow);
S->top = S->base;
return *S;
}
void main()
{
int m;
int n;
Stack OPND;
InitStack(&OPND);
scanf("%d",&n);
*OPND.top=1;
OPND.top++;
for(m=2;m<=n;m++)
{
*OPND.top=*(OPND.top-1)*m;
OPND.top++;
}
printf("%d",*(OPND.top-1));
}
相关文章推荐
- lisp 实现阶乘函数
- 【算法学习】一行核心代码实现阶乘函数和Fibonacci数列
- 用Haskell实现的阶乘函数
- 使用栈实现阶乘函数的递归
- 三种方式实现阶乘函数
- JavaScript如何实现跨域访问(CORS)?
- 递归算法实现二分查找
- 瀑布流布局javascript or css3实现
- iOS自带原生二维码扫描的实现
- 归并排序 C++实现
- Linux fsync和fdatasync系统调用实现分析(Ext4文件系统)
- FileInputStream和FileOutputStream实现照片的复制(一)
- golang通过zookeeper实现master选举
- 实现双链表的各种基本运算的算法
- 实现网页同时只能有一个账号登录
- Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
- 神经网络系统画画——在windows下实现
- C# Redis客户端对一致性hash算法的实现
- Go语句实现简单的冒泡排序
- [转]多模匹配算法与dictmatch实现