总思路:
用算法模拟除法的过程
考察知识点归纳:
1.对输入整数逐位分析
2.对极端情况进行特别判断
#include<stdio.h>
int main(void){
int i,t,B;//用t储存每位除去B后的余数
char A[1001];//题目中输入整数最高为1000位,故只能用字符数组储存
scanf("%s %d",A,&B);
for(i=0,t=0;A[i]!='\0';i++){//遍历字符数组
if(i!=0||(t*10+A[i]-'0')/B)//判断在该位除B后为0的情况下该位是否为首位(因为首位不能为0)
printf("%d",(t*10+A[i]-'0')/B);
else if(A[i+1]=='\0')//特例判断输入整数为个位且除B后为0的情况(防止没有输出)
printf("0");
t=(t*10+A[i]-'0')%B;//获取该次计算后的余数
}
printf(" %d",t);
return 0;
}