0
1
已采纳
宫西诚
修练者
修练者
请勿举报,纯属帮忙,最基本的代码
加法
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b;
int x[100000],y[100000],z[100000],t=1,jw=0,d=1;
cin>>a>>b;
x[0]=a.size();
y[0]=b.size();
z[0]=max(x[0],y[0]);
for(int i=x[0]-1;i>=0;i--)
{
x[t]=a[i]-'0';
t++;
}
for(int i=y[0]-1;i>=0;i--)
{
y[d]=b[i]-'0';
d++;
}
for(int i=1;i<=z[0];i++)
{
z[i]=x[i]+y[i]+jw;
jw=z[i]/10;
z[i]=z[i]%10;
}
if(jw)
{
z[0]++;
z[z[0]]=jw;
}
for(int i=z[0];i>=1;i--)
cout<<z[i];
return 0;
}
减法
#include<bits/stdc++.h>
using namespace std;
int main()
{
string a,b,c;
int x[100000],y[100000],z[100000],t=1,jw=0,d=1,m;
cin>>a>>b;
x[0]=a.size();
y[0]=b.size();
z[0]=max(x[0],y[0]);
if(x[0]<y[0]||x[0]==y[0]&&a<b)
{
swap(a,b);
cout<<"-";
}
x[0]=a.size();
y[0]=b.size();
for(int i=x[0]-1;i>=0;i--)
{
x[t]=a[i]-'0';
t++;
}
for(int i=y[0]-1;i>=0;i--)
{
y[d]=b[i]-'0';
d++;
}
for(int i=1;i<=z[0];i++)
{
if(x[i]<y[i])
{
x[i]+=10;
x[i+1]--;
}
z[i]=x[i]-y[i];
}
for(int i=z[0];i>=1;i--)
{
if(z[i]!=0)
{
m=i;
break;
}
}
while(z[z[0]]==0&&z[0]>1)
z[0]--;
for(int i=z[0];i>=1;i--)
cout<<z[i];
return 0;
}
宫西诚在2018-08-07 13:29:18追加了内容
请勿举报,谢谢
0
0
0