数据结构—进制转换完整C措辞代码[最新]
/*以下为顺序栈实现方式*/
#include,,,,,"stdio.h"
#define,,,,,,,,,,STACK_INIT_SIZE,,,,,100
#define,,,,,,,,,,STACK_INCREMENT,,,,,10
#define,,,,,,,,,,OVERFLOW,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-1 #define,,,,,,,,,,OK,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,2
#define,,,,,,,,,,YES,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,1 #define,,,,,,,,,,NO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,0
#define,,,,,,,,,,ERROR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,-2 typedef,,,,,int,,,,,Selemtype;
typedef,,,,,int,,,,,Status;
typedef,,,,,struct{
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Selemtype,,,,,*base; ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,Selemtype,,,,,*top; ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,int,,,,,stacksize;
}Sqstack;
Status,,,,,Initstack(Sqstack,,,,,*S){
,,,,,,,,,,,,,,,,,,,,S->base=(Selemtype,,,,,*)malloc(STACK_INIT_SIZE*sizeof(Selemtype));
,,,,,,,,,,,,,,,,,,,,if,,,,,(!S->base),,,,,exit,,,,,(OVERFLOW); ,,,,,,,,,,,,,,,,,,,,S->top=S->base;
,,,,,,,,,,,,,,,,,,,,S->stacksize=STACK_INIT_SIZE; ,,,,,,,,,,,,,,,,,,,,return,,,,,OK;
}
Status,,,,,Emptystack(Sqstack,,,,,*S){
,,,,,if(S->base==S->top),,,,,return,,,,,YES;
,,,,,else,,,,,return,,,,,NO;
}
Status,,,,,Push(Sqstack,,,,,*S,Selemtype,,,,,e){ ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,if,,,,,(S->top-S->base>=S->stacksize) ,,,,,,,,,,,,,,,{S->base=(Selemtype,,,,,*)realloc(S->base,(S->stacksize+STACK_INCREMEN
T)*sizeof(Selemtype));
,,,,,,,,,,,,,,,if,,,,,(!S->base),,,,,exit,,,,,(OVERFLOW); ,,,,,,,,,,,,,,,S->top=S->base+S->stacksize;
,,,,,,,,,,,,,,,S->stacksize+=STACK_INCREMENT;} ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,*S->top++=e;
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,return,,,,,OK;
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,}
Status,,,,,Pop(Sqstack,,,,,*S,Selemtype,,,,,*e){ ,,,,,,,,,,,,,,,,,,,,,,,,,if(S->top==S->base),,,,,return,,,,,ERROR;
,,,,,,,,,,,,,,,,,,,,,,,,,*e=*--S->top;
,,,,,,,,,,,,,,,,,,,,,,,,,return,,,,,OK;
,,,,,,,,,,,,,,,,,,,,,,,,,}
main()
{
,,,,,int,,,,,*e,m,n;
,,,,,Sqstack,,,,,*s;
,,,,,Initstack(s);
,,,,,clrscr();,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,/*清屏函数,不同编译系统函数
不同*/
,,,,,printf("input,,,,,m,n:\n");/*m是待转换的数,n是要转换的几进制*/
,,,,,scanf("%d%d",&m,&n);
,,,,,while(m)
,,,,,,,,,,{
,,,,,,,,,,,,,,,Push(s,m%n);
,,,,,,,,,,,,,,,m=m/n;
}
,,,,,printf("the,,,,,arranged,,,,,NO.,,,,,is:"); ,,,,,while(!Emptystack(s))
,,,,,{
,,,,,,,,,,Pop(s,e);
,,,,,,,,,,if(*e>9),,,,,{*e=*e+'A'-10;printf("%c",*e);}/*十进制以上数用字母A、B、C……代替,
即10为A,11为B*/
,,,,,,,,,,else,,,,,printf("%d",*e);
,,,,,}
}
/*本程序使用栈的顺序
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示法,本人自己编写并已在turbo,,,,,c中调试,100%可正确运行,
若移植到VC6.0环境中,只需修改部分即可*/ /*THE,,,,,END*/,,,,,
/*以下为链栈实现方式*/ #include,,,,,
#include,,,,, #define,,,,,TRUE,,,,,1 #define,,,,,FALSE,,,,,0 #define,,,,,OK,,,,,0
#define,,,,,ERROR,,,,,-1 typedef,,,,,struct,,,,,SNode{ ,,,,,int,,,,,data;
,,,,,struct,,,,,SNode,,,,,*next; }SNode;
typedef,,,,,struct{
,,,,,int,,,,,length;
,,,,,SNode,,,,,*top;
}STACK;
void,,,,,InitStack(STACK,,,,,*S){ ,,,,,S->top=NULL;S->length=0; }
int,,,,,Push(STACK,,,,,*S,int,,,,,e){ ,,,,,SNode,,,,,*p;
,,,,,p=(SNode,,,,,*)malloc(sizeof(SNode)); ,,,,,if(!p),,,,,return,,,,,ERROR; ,,,,,p->data=e;p->next=S->top; ,,,,,S->top=p;S->length++; ,,,,,return,,,,,OK;
}
int,,,,,Pop(STACK,,,,,*S,int,,,,,*e){ ,,,,,SNode,,,,,*p;
,,,,,if(S->top==NULL),,,,,return,,,,,ERROR;
,,,,,p=S->top;*e=p->data; ,,,,,S->top=p->next;S->length--; ,,,,,return,,,,,OK;
}
int,,,,,Empty(STACK,,,,,S){ ,,,,,if(S.top==NULL),,,,,return,,,,,TRUE; ,,,,,return,,,,,FALSE;
}
int,,,,,main(){
,,,,,int,,,,,m,n,*e;
,,,,,STACK,,,,,S;
,,,,,,,,,,printf("input,,,,,m,n:\n"); ,,,,,,,,,,scanf("%d%d",&m,&n);
,,,,,InitStack(&S);
,,,,,while(m)
,,,,,{
,,,,,,,,,,Push(&S,m%n);
,,,,,,,,,,m=m/n;
,,,,,}
,,,,,printf("the,,,,,arranged,,,,,NO.,,,,,is:"); ,,,,,while(!Empty(S))
,,,,,{
,,,,,,,,,,Pop(&S,e);
,,,,,,,,,,if(*e>9),,,,,,,,,,printf("%c",*e+'A'-10); ,,,,,,,,,,else,,,,,printf("%d",*e); }
putchar('\n');
}
/*本程序采用链栈的表示方法,同学编写,本人已在TURBO,,,,,C中调试,100%可正确运
行,若转移到其他环境中,只需修改部分即可*/ /*THE,,,,,END*/,,,,,