int main()
{
int a, n, i;//定义变量
int num[100];//定义一个一定容量的数组
scanf("%d", &a);//输入十进制数
scanf("%d", &n);//输入要转换的进制
for (i = 0; a!=0; i++)
{
num[i] = a % n;//输入的十进制数对n取余,将余数遍历输入数组,这时候数字顺序是反着的
a /= n;
}
if (n == 2)//如果进制数为2
{
printf("0b");//输出2进制前缀
}
else if (n == 8)
{
printf("0");//输出8进制前缀
}
else if (n == 16)
{
printf("0x");//输出16进制前缀
}
for (i =i-1; i >= 0; i--)
{
printf("%d", num[i]);//将数组里的余数遍历输出数组,实现倒序输出正确顺序数字
}
return 0;
}
初学C语言十进制转换任意进制练习
于 2023-06-27 20:44:59 首次发布