#include <stdio.h>
int b[10];
main()
{int n,m,s,i,j;
char a[8];
int ch(char a[8],int n);
int str(int s,int m);
while(scanf("%s%d%d",&a,&n,&m)!=EOF)
{ s=ch(a,n);
i=str(s,m);
if(i>8)
printf(" ERROR");
else
{for(j=1;j<8-i;j++)
printf(" ");
for(j=i-1;j>=0;j--)
putchar(b[j]);
}
printf("\n");
}
}
int ch(char a[8],int n)
{ int i,j,k,s,e;
i=strlen(a);s=0;e=1;
for(j=0;j<i;j++)
{ e=a[j]-48;
if(a[j]>='A'&&a[j]<='F')
e=(a[j]-48)-('A'-48)+10;
for(k=1;k<i-j;k++)
e=e*n;
s=s+e;
}
return(s);
}
int str(int s,int m)
{ int f,i=0;
while(s!=0)
{ f=s%m;
if(f>=10&&f<=15)
b[i]=f-10+65;
else
b[i]=f+48;
i++;
s=s/m;
}
return(i);
}
为什么提交说答案错啊,各位女士先生帮帮忙 啊!
题目地址:http://acm.zju.edu.cn/show_problem.php?pid=1334