题目描述:
输入的数字要求是十亿,而int类型的最大值是21亿,足够存放,所以使用int类型
分析一下转换为六进制的计算过程:
这里要注意,我们先求模计算出来的是地位,最后求模出来的是高位,所以我们打印的时候要倒着打印,
倒着打印的时候要注意一点,i在每次循环的时候都加了一次,在最后一次的时候也自动加了一次,但是里面并没有存放数字,所以我们在打印之前要将i-1.
代码:
源代码:
#include<stdio.h>
int main()
{
int num = 0;
int arr[50] = { 0 };
//输入
scanf("%d", &num);
//转换
int i = 0;
while (num)
{
arr[i] = num % 6;
i++;
num = num / 6;
}
//输出
for (i--; i >= 0; i--)
{
printf("%d", arr[i]);
}
return 0;
}