第一步:设一个char 数组(进行储备),设一个int 数组(进行转换成数),设一个int 数组进行结果的储备。并计算char 数组的长度。
第二步:将char数组进行转换。(跟乘法不一样,是正序转化,可以自己写个除法试试)。
第三步:除法运算,余数在下一位是要乘以十的。
第四步:将开头的0去掉。
第五步:输出即可。
#include <cstdio> #include <iostream> #include <string> #include <cstring> using namespace std; int main () { char s[100000]; //第一步 int a[100000]; int c[100000]; int d; cin >> s >> d; int len = strlen(s); for (int i=0;i<len;i++) //第二步 { a[i]=s[i]-'0'; } int yu; for (int i=0;i<len;i++) //第三步 { c[i]=(a[i]+yu*10)/d; yu =(a[i]+yu*10)%d ; } int x=0; while(c[x]==0 && x<len) //第四步 { x++; } for(int i=x;i<len;i++) //第五步 { cout << c[i] ; } cout << endl; return 0; }