数制转换问题(数据结构课程设计)

默认分类 未结 1 1490
0喵匙0
0喵匙0 2023-08-11 08:39
相关标签:
1条回答
  • 2023-08-11 09:03

    任意给定一个M进制的数x ,请实现如下要求 (1)求出此数x的10进制值。 (2)实现对x向任意的一个非M进制的数的转换。

    #include "stdio.h" #include #define Max 50 typedef struct { int elem[Max]; int top; }Sqstack; void initstack(Sqstack*p) { (*p).top=-1; } int empty(Sqstack s) { if(***.top==-1) return 1; else return 0; } void push(Sqstack*p,int x) { if(p->top==Max-1) { printf("错误信息"); exit(0); } p->top=p->top+1; p->elem[p->top]=x; } int pop(Sqstack*p) { int c=p->elem[p->top]; p->top=p->top-1; return c; } void main() { int num, base, c; Sqstack s; initstack(&s); while(1) { printf("输入要转换的数和进制数:"); scanf("%d%d", &num, &base); if(num<0) break; printf("%d(10)=",num); while(num) { c=num%base; push(&s,c); num/=base; } while(!empty(s)) { c=pop(&s); printf("%d",c); } printf("(%d) ",base); } } 这个应该可以的,你看看。 我这个程序足以做你那两个啦,你只要把进制数输入为10 就是第一问啊。

    0 讨论(0)
提交回复