第一步:设一个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;
}



京公网安备 11010502036488号