严蔚敏不是女的吗?
啊,请原谅我的无知啊
还有,3楼的GG告诉我那个getch()是有用的,是要把程序暂停下来
不过要在前面加个头文件
#include<conio.h>
要不然是通不过的
[此贴子已经被作者于2006-4-21 12:00:44编辑过]
啊,请原谅我的无知啊
[此贴子已经被作者于2006-4-21 12:00:44编辑过]
有QQ吗楼上的不知道你到底运行了没有
我用的也是VC6.0
不过我运行好多次都不行
就按你改的
如果你要是没有运行的话请以后不要乱讲
看好后再说
要不总是说些没有意义的话题
[此贴子已经被作者于2006-4-21 9:24:03编辑过]
程序:
#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编辑过]