在写这道题的时候,发现第二个测试点无法通过,想了想,发现当A小于B时,我的代码是没有商输出的。所以第二个测试点应该是A<B时,商应该输出0,代码就能通过啦。
附上我惨不忍睹的代码:
#include<stdio.h>
#include<string.h>
int main()
{
int bcs,cs,i=0,leave=0,l,k=0;
char s[1010],s1,s2[1010];
s2[0]='0';
scanf("%s %d",&s,&bcs);
while(i<strlen(s))
{
s1=s[i];
i++;
l=s1-'0'+leave*10;
if(l<bcs)
{
s2[k++]='0';
}
else{
s2[k++]=l/bcs+'0';
}
leave=l%bcs;
}
s2[k]='\0';
if(s2[0]=='0')
{
for(i=0;i<k;i++)
s2[i]=s2[i+1];
}
// printf("%d %d",k,leave);
if(k==1)
{
printf("%d %d",k-1,leave);
}
else
{
printf("%s %d",s2,leave);
}
return 0;
}