用顺序栈解决进制转换问题,问题在哪里呢 - 爱问答

(爱问答)

用顺序栈解决进制转换问题,问题在哪里呢

#include<stdio.h>

#include<stdlib.h>

 

#define MAXNUM  100;

typedef int DataType;

struct SeqStack{

int t;

DataType *s;

};

typedef struct SeqStack *PSeqStack;

 

/*创建一个空顺序栈*/

PSeqStack createEmptyStack_seq(int m)

{

PSeqStack pastack=(PSeqStack)malloc(sizeof(struct SeqStack));

if(pastack!=NULL){

pastack->s=(DataType*)malloc(sizeof(DataType)*MAXNUM);

if(pastack->s){

    pastack->t=-1;

 

return pastack;

}

else free(pastack);

}

printf("out of space!! ");

return NULL;

}

 

/*判别是否为空*/

int isEmptyStack_seq(PSeqStack pastack)

{

return(pastack->t==-1);

}

 

/*进栈*/

void push_seq(PSeqStack pastack,DataType x)

{

if(pastack->t>=MAXNUM-1)

 printf("overflow! "); 

     else

{pastack->t=pastack->t+1;

pastack->s[pastack->t]=x;

}

}

 

/*出栈*/

void pop_seq(PSeqStack pastack)

{

if(pastack->t==-1)

printf("underflow! ");

else

pastack->t=pastack->t-1;

}

 

/*取站定元素*/

DataType top_seq(PSeqStack pastack)

{

if(pastack->t==-1)

printf("it is empty! ");

else

return(pastack->s[pastack->t]);

}

 

/*转换*/

void conversion(int m)

{

int n,e;

PSeqStack s;

s=createEmptyStack_seq(100);

printf("please input the number to be converted n=:");

scanf("%d",&n);

while(n){

push_seq(s,n%m);

n=n/m;

}

while(!isEmptyStack_seq(s))

{

e=top_seq(s);

pop_seq(s);

printf("%d",e);

}

 

int main()

int m,n;

printf("输入你要转化为的进制数m=");

scanf("%d",&m);

printf("输入一个你要转化的数:");

scanf("%d",&n);

conversion(m);

return 0;

}


程序有两个问题

1.

#define MAXNUM  100;

后面多分号了(初学者常犯错之一)

2.

printf("输入一个你要转化的数:");

scanf("%d",&n);

你的这个是多余的,全删除,并改你的

printf("please input the number to be converted n=:");

printf("输入一个你要转化的数:");

下一篇:c语言关于指针数组的问题?

上一篇:谁会的请教一下谢谢

热门标签:
excel 网盘 破解 word dll
最新更新:
微软重新评估新的Outlook的使用时机 联想推出搭载联发科Helio G80芯片组的Tab M9平板 英特尔创新大赛时间确定! 微软Edge浏览器在稳定渠道中推出Workspaces功能 英伟达RTX4060TiGPU推出MaxSun动漫主题! 谷歌地图为用户提供了街景服务! GameSir 在T4 Kaleid中推出了一款出色的控制器! 微软开始在Windows 11 中测试其画图应用程序的新深色模式! LG电子推出全球首款无线OLED电视 英伟达人工智能芯片崭露头角! Steam Deck可以玩什么游戏-Steam Deck价格限时优惠 雷蛇推出CobraPro鼠标 Kindle电子阅读器可以访问谷歌商店吗 Windows10如何加入组策略 window10图片查看器怎么没有了?