问题描述:将一个十进制数转化为任意进制数
文件名称:the_twlenth_week_OJ1942
作者:何知令
发表时间:2016年11月19日
输入:一个十进制整数和想要转化为的进制数
输出:该十进制整数对应的相应的进制数
示范输入:
7 2
23 12
-4 3
示范输出:
111
1B
-11
代码:
/*问题描述:将一个十进制数转化为任意进制数
文件名称:the_twlenth_week_OJ1942
作者:何知令
发表时间:2016年11月19日
输入:一个十进制整数和想要转化为的进制数
输出:该十进制整数对应的相应的进制数
示范输入:
7 2
23 12
-4 3
示范输出:
111
1B
-11*/
#include <stdio.h>
void turn(int num,int m);
void turn1(int num,int m);
int main()
{
int num,m;
while((scanf("%d %d",&num,&m)!=EOF))
{
if(num==0)
{
printf("%d",num);
printf("\n");
}
else if(num<0)
{
turn1(num,m);
printf("\n");
}
else
{
turn(num,m);
printf("\n");
}
}
return 0;
}
void turn(int num,int m)
{
int a;
if(num==0)
{
return;
}
else
{
turn(num/m,m);
if(num%m>9)
{
a=77-num%m;
printf("%c",a);
}
else
{
printf("%d",num%m);
}
return;
}
}
void turn1(int num,int m)
{
printf("-");
num=-num;
if(num==0)
{
return;
}
else
{
turn(num/m,m);
printf("%d",num%m);
return;
}
}
程序运行结果展示:
知识点总结:函数调用+递归
学习心得:自认为是对的。。。。