题目描述:输入一个十进制数N,将它转换成R进制数输出,且进行多组测试。
程序:
#include <stdio.h>
void inverted(int,int);
int main()
{
int N,R;
while(scanf("%d %d",&N,&R)!=EOF)
{
if(N==0)
printf("%d",N);
else if(N<0)
{
printf("-");
N=-N;
}
inverted(N,R);
printf("\n");
}
return 0;
}
void inverted(int N,int R)
{
int m;
if(N==0)
{
return;
}
else
{
inverted(N/R,R);
m=N%R;
if(m<10)
printf("%d",m);
else
printf("%c",'A'+m-10);
}
return;
}
测试结果:
注意:10以上的数字用ABCDEF表示,
而输出时切记 %c,