制作一个数制转换器,任意输入数制d,把一个10进制数转换成d进制的数
第1行,输入一个十进制数
第2行,输入数值
输入样例
1348
8
输出样例
2504
本人代码如下
#include
void showbit(int n)
{
if(n>1){
showbit(n/2);
printf("");
}
printf("%d",n%2);
}
void showoct(int n)
{
if(n>7){
showoct(n/8);
printf("");
}
printf("%d",n%8);
}
void showhex(int n)
{
if(n>15){
showhex(n/16);
printf("");
}
printf("%d",n%16);
}
int main()
{
int a;
scanf("%d",&a);
showbit(a);
printf("\n");
showoct(a);
printf("\n");
showhex(a);
printf("\n");
}
请问如何修改才能按照样例进行输出
题目说任意数制,也没说一定是2,8和16啊,你只实现三种也不能满足啊
#include <stdio.h>
void sz(int N,int n)
{
int i,k;
i = N%n;
k = N/n;
if(k!=0)
sz(k,n);
if(n>=10)
{
if(i>=10)
printf("%c",i-10+'A');
else
printf("%d",i);
}
else
printf("%d",i);
}
int main()
{
int N,n;
scanf("%d %d",&N,&n);
sz(N,n);
return 0;
}