用C语言栈实现进制转换,十进制转成2,8,16,2,8,16转成十进制,
发布网友
发布时间:2022-09-19 02:45
我来回答
共4个回答
热心网友
时间:2023-10-24 20:11
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<stdio.h>
#include<string.h>
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;
}
热心网友
时间:2023-10-24 20:12
应该没有那么长吧,去掉栈的函数,把其他代码发上来看看
热心网友
时间:2023-10-24 20:12
代码发出来 看看
或者私信告诉你邮箱
热心网友
时间:2023-10-24 20:13
代码共享,帮你查查追问代码发不上来,太长
追答百度云共享啊,一般这样的代码不应该很长的。