严蔚敏不是女的吗?
啊,请原谅我的无知啊
还有,3楼的GG告诉我那个getch()是有用的,是要把程序暂停下来
不过要在前面加个头文件
#include<conio.h>
要不然是通不过的
[此贴子已经被作者于2006-4-21 12:00:44编辑过]
程序:
#include"stdio.h"
#include"malloc.h"
#include<conio.h>
#define STACK_INIT_SIZE 100
#define STACKINCREMENT 10
#define OK 1
#define OVERFLOW -2
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;
SqStack S;
int Initstack(SqStack &s)
{
s.base=(int *)malloc(STACK_INIT_SIZE * sizeof (int));
//if(!s.base)exit(OVERFLOW) ;
s.top=s.base;
s.stacksize=STACK_INIT_SIZE;
return OK;
}
int push(SqStack &s,int e)//问题就出在这了呵
{
if(s.top-s.base>=s.stacksize)
{s.base=(int *)realloc(s.base,(s.stacksize+STACKINCREMENT) * sizeof (int));
//if(!s.base)exit(OVERFLOW) ;
s.top=s.base+s.stacksize;
s.stacksize+=STACKINCREMENT;
}
*s.top=e;
s.top++;
return OK;
}
void main()
{int N,d;
Initstack(S);
printf("Input The Number changed:\n");
scanf("%d",&N); /*输入要转换的数*/
printf("Input The changed zhidu:\n");
scanf("%d",&d); /*输入要转换的进制数*/
while(N)
{
push(S,N%d);
N=N/d ;
}
while (S.top!=S.base)
{
printf("%d",*(--S.top));
}
getch();
}
运行结果:
[此贴子已经被作者于2006-4-21 12:14:54编辑过]