用字符串str来存被除数,int型数据s表示除数,算法很简单,就是一个简单的模拟(模拟我们手动做除法的过程,看代码就懂了)直接上代码:
char ans[MAX]; //商数可能会超数据范围 所以用字符串的形式来存
int ret;
void Division(char str[MAX],int s){ //参数分别是被除数和除数
int len=strlen(str);
int count=0;
memset(ans,'\0',sizeof(ans));//初始化
ret=0;
for(int i=0;i<len;i++){
ret=ret*10+str[i]-'0';
ans[count++]=ret/s+'0';//将int型转换成char型
ret=ret%s;
}
} //ans存的是商数,ret是余数 注意,如果直接输出的话是这样的:
123613123123/1231=100416834,余数是469 因为商数是用字符串存的,所以自己要控制一下输出,前面多余的0就不输出了。
1万+

被折叠的 条评论
为什么被折叠?



