用C语言栈实现进制转换,十进制转成2,8,16,2,8,16转成十进制,

如果有想法,私聊,代码我已写好,就是有毛病,没改出来
2024-11-12 11:46:33
推荐回答(4个)
回答(1):

Problem Description
输入一个十进制数N,将它转换成R进制数输出。
Input
输入数据包含多个测试实例,每个桥塌测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。
Output
为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等卜唤)。
Sample Input
7 2
23 12
-4 3
Sample Output
111
1B
-11

#include
#include
int main()
{
int R,a,i;
long n;
char b[10000];
while(scanf("%d %d",&n,&R)!=EOF)
{
if(n==0)
printf("0\n");
if(n==1)
printf("1\n");
if(n==-1)
printf("-1\n");
if(n>1||n<-1)
{
if(n<0)
printf("-");
n=n>0?n:-n;
i=0;
while(n>0)
{
a=n%R;
n=n/R;
if(a>=10)
b[i]='A'+a-10;
else
b[i]='0'+a;
i++;
}
b[i]='\0';
for(i=strlen(b)-1;i>=0;i--)
printf("%c",b[i]);
printf("敏弊圆\n");
}
}
return 0;
}

回答(2):

应该没有那么长吧,去掉栈的函数,把其他代码发上来看看

回答(3):

代码发出来 看看

或者私信告诉你邮箱

回答(4):

代码共享,帮你查查