输入十进制整数N和待转换的进制x(2、8、16),分别代表十进制N转换成二进制、八进制和十六进制,输出对应的结果。十六进制中A~F用大写字母表示。
输入格式:
输入两个整数N(十进制整数N)和x(x进制),中间用空格隔开。
输出格式:
输出对应的结果。
输入样例:
在这里给出一组输入。例如:
123 2
输出样例:
在这里给出相应的输出。例如:
1111011
输入样例:
在这里给出一组输入。例如:
123 16
输出样例:
在这里给出相应的输出。例如:
7B
#include<stdio.h>
#define MAX 100000
typedef struct stack{
int data[MAX];
int top;
}stack;
int main()
{
int n,x;
stack *s;
char t;
scanf("%d%d",&n,&x);
s=(stack *)malloc(sizeof(stack));
while(n>0)
{
s->data[s->top]=n%x;
s->top++;
n=n/x;
}
while(s->top!=0)
{
s->top--;
if(s->data[s->top]==10)
printf("A");
else if(s->data[s->top]==11)
printf("B");
else if(s->data[s->top]==12)
printf("C");
else if(s->data[s->top]==13)
printf("D");
else if(s->data[s->top]==14)
printf("E");
else if(s->data[s->top]==15)
printf("F");
else printf("%d",s->data[s->top]);
}
}