C语言实现进制转换
实现十进制转num换成R进制数~num和R从键盘读入(假定num为int且正负均可~R为int且2<=R<=16)。注意~程序中不能使用库函数itoa、ltoa、ultoa或使用同名的变量、函数、单词~编程可用素材:printf("input the num, R: ")...、printf("Result: \n")...。
程序的运行效果应类似地如图1和图2所示~图1中的4095,2和图2中的-32760,16是从键盘输入的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
。
代码:
#include
int main(void)
{
int i = 0, j, num, r1, ys, count = 0;
char a1[256];
do
{
printf("input the num, R: ");
scanf("%d,%d", &num, &r1);
} while (r1 > 16 || r1 < 2);
if (num < 0)
{
num = -num;
count++; /*方便后面的结果正负的判断*/
}
do
{
ys = num % r1;
if (ys < 10)
{
a1[i] = ys + '0';
}
if (ys >= 10)
{
a1[i] = ys - 10 + 'A';
}
num /= r1;
i++;
} while (num != 0);
printf("Result: \n");
if (count == 1)
{
printf("-");
}
for (j = i - 1; j >= 0; j--) /*前面i++这里要-1*/
{
printf("%c", a1[j]);
}
return 0;
}