#include #include #define maxssize 40 //定义一个顺序栈 typedef struct stack { int m[maxssize]; int top; }Sstack, *pstack; pstack A; pstack B; pstack C; //转换成二进制 void turn_1(int date) { int temp, tem; tem = date; while(tem != 0) { A->top++; temp = tem%2; tem = tem/2; A->m[A->top] = temp; } while(A->top != -1) { printf(\"%d\ A->top--; } printf(\"\\n\"); } //转换成八进制 void turn_2(int date) { int temp, tem; tem = date; while(tem != 0) { B->top++; temp = tem%8; tem = tem/8; B->m[B->top] = temp; } while(B->top != -1) { printf(\"%d\ B->top--; } printf(\"\\n\"); } //转换成十六进制 void turn_3(int date) { int temp, tem; int i; char t; tem = date; while(tem != 0) { C->top++; temp = tem%16; tem = tem/16; for(i = 10; i <= 15; i++) { if(temp == i) { temp = 55+i; } } for(i = 0; i <= 9; i++) { if(temp == i) { temp = 48+i; } } C->m[C->top] = temp; } while(C->top != -1) { t = C->m[C->top]; printf(\"%c\ C->top--; } } void main() { unsigned long date; printf(\"请输入要转换的数据\"); scanf(\"%d\ getchar(); A = (pstack)malloc(sizeof(Sstack)); B = (pstack)malloc(sizeof(Sstack)); C = (pstack)malloc(sizeof(Sstack)); A->top = -1; B->top = -1; C->top = -1; turn_1(date); turn_2(date); turn_3(date); printf(\"\\n\"); } 因篇幅问题不能全部显示,请点此查看更多更全内容