使用栈将一个很长(>30)的十进制数转换为二进制数

2025-03-02 01:00:51
推荐回答(1个)
回答1:

#include
#include
int main()
{
char a[2000];
int x[2000]={0};
while(scanf("%s",a)!=EOF)
{
int len=strlen(a);
int m,n,k,j=0;
for(; len!=0; len=k)
{
m=0,n,k=0;
for(int i=0; i {
n=m*10+a[i]-'0';
m=n%2;
if(k==0&&n/2!=0)
a[k++]=n/2+'0';
else if(k!=0)
a[k++]=n/2+'0';
if(i==len-1)
x[j++]=m;
}
}
for(int i=j-1; i>=0; i--)
printf("%d",x[i]);
printf("\n");
}
return 0;
}