PTA(Basic Level) 1017:A除以B(C语言实现)
PTA(Basic Level) 1017:A除以B(C语言实现)
分析:
①手动模拟除法过程,够除输出商,不够除商0,并将余数*10和下一个数相加,循环上面过程;
②注意第一位特殊处理,第一位如果比除数大,不管有没有下一位,都要输出商;如果第一位小于除数,商为0,如果还有下一位则不输出0,否则输出0。
#include <stdio.h>
#include <string.h>
int main()
{
int i,n,B,R,Q;
char A[1001]={ 0};
scanf("%s%d",A,&B);
n=strlen(A);
Q=(A[0]-'0')/B;//商
R=(A[0]-'0')%B;//余数
if(Q!=0 || n==1)//只有一位或者第一位大于除数
printf("%d",Q);
for(i=1; i<n; i++)
{
Q=(R*10+A[i]-'0')/B;//商
R=(R*10+A[i]-'0')%B;//余数
printf("%d",Q);
}
printf(" %d",R);
return 0;
}
还没有评论,来说两句吧...