哪位好心的同志,帮我看看下面程序中的问题,请指点一二,谢谢

作者在 2009-07-14 16:27:13 发布以下内容
哪位好心的同志,帮我看看下面程序中的问题,请指点一二,谢谢
 
#include <iostream>
#define StackInitSize 100
#define StackAddSize 10
using namespace std;
typedef struct
{
 int *base;
 int *top;
 int stacksize;
}SqStack;
int InitStack (SqStack s)
{
 s.base=new int[StackInitSize];
 if (!s.base)  exit (-1);
 s.top=s.base;
 s.stacksize=StackInitSize;
 return 1;
}
int Push (SqStack s,int e)
{
 if (s.top-s.base>=s.stacksize){
  s.base=(int *)realloc(s.base,(s.stacksize+StackAddSize)*sizeof (int));
  if (!s.base)  exit (-1);
  s.top=s.base+s.stacksize;
  s.stacksize += StackAddSize;
 }
 *s.top++=e;
 return 1;
}
int Pop (SqStack s,int e)
{
 if (s.top==s.base)  return 0;
 e=*s.top--;
 return 1;
}
void main()
{
 SqStack L;
 InitStack (L);
 int n,d,*num;
 scanf ("%d",&n);
 scanf ("%d",&d);
 for (int i=0;i<n;++i)
 {
  num=new int;
  scanf ("%d",num++);
  int N=*num;
  while (N){
   Push (L,N%d);
   N=N/d;
  }
  while (L.top != L.base){
   Pop(L,n);
   printf ("%d",n);
  }
 }
}
练习 | 阅读 4050 次
文章评论,共0条
游客请输入验证码
浏览4050次
文章分类
文章归档
最新评论