#include <iostream>
#include <stdio.h>
#define MAX_SIZE 100
using namespace std;
typedef struct Stack{
char *base;
int stacksize;
}Stack;
int Init(Stack &S){
S.base = new char[MAX_SIZE];
S.stacksize = 0;
}
int Stack_Pop(){
;
}
int Stack_Push(Stack &S,int Ele){
S.base[S.stacksize] = Ele;
S.stacksize += 1;
}
int Stack_dis(Stack S){
for(int i=S.stacksize-1;i>=0;i--){
cout<<S.base[i]<<" ";
}
cout<<endl;
}
int tobin(Stack &S){
int num;
char time;
printf("请输入要改变的数,此时为二进制:\n");
scanf("%d",&num);
while (num){
time = '0' + num%2;
Stack_Push(S,time);
num = num/2;
}
Stack_dis(S);
}
int tooxc(Stack &S){
int num;
int time;
printf("请输入要改变的数,此时为八进制:\n");
scanf("%d",&num);
while (num){
time = '0' + num%8;
Stack_Push(S,time);
num = num/8;
}
Stack_dis(S);
}
int To(Stack &S){
int num;
int time;
printf("请输入要改变的数,此时为八进制:\n");
scanf("%d",&num);
while (num){
time = '0' + num%8;
Stack_Push(S,time);
num = num/8;
}
Stack_dis(S);
}
int to(Stack &S){
int num;
int n;
char time;
printf("请输入要改变的数:\n");
scanf("%d",&num);
printf("进制数:\n");
scanf("%d",&n);
while (num){
time = '0' + num%n;
if(time>'9'){
time = 'A' + time - '9';
}
Stack_Push(S,time);
num = num/n;
}
Stack_dis(S);
}
int main()
{
cout<<endl<<'12'<<endl;
Stack S1,S2,S3;
Init(S1);
Init(S2);
Init(S3);
tobin(S1);
tooxc(S2);
to(S3);
return 0;
}
用着c++,写c语言。。。