输入十进制整数N和待转换的进制x(2、8、16),分别代表十进制N转换成二进制、八进制和十六进制,输出对应的结果。十六进制中A~F用大写字母表示。
输入格式:
输入两个整数N(十进制整数N)和x(x进制),中间用空格隔开。
输出格式:
输出对应的结果。
这个都能找到现成的代码,百度厉害的
参考:https://www.cnblogs.com/duye/p/9541128.html
int N,x;
scanf_s("%d %d", &N,&x);
switch(x){
case(2) : {
char s[16];
_itoa_s(N, s, 2);
printf_s("二进制:%s\n", s); break;
}
case(8) : printf_s("八进制:%o\n", N); break;
case(16) : printf_s("十六进制:%x\n", N); break;
default:break;
}
#include <stdio.h>
int main() {
int n,x;
int t,len=0;
char re[64]={0};
scanf("%d%d",&n,&x);
while(n>0)
{
t=n%x;
if(t>9)
re[len]=t-10+'A';
else
re[len]=t+'0';
n/=x;
len++;
}
len--;
for(int i=0;i<=len/2;i++)
{
t=re[i];
re[i]=re[len-i];
re[len-i]=t;
}
printf("%s\n",re);
return 0;
}