前导0
by PuJunXi @ 2024-02-24 21:21:47
加一句 `while(c[lena]==0&&lena>1) --lena;`
by PuJunXi @ 2024-02-24 21:22:54
@[feizhukkksc03](/user/971024)
by PuJunXi @ 2024-02-24 21:24:40
```cpp
#include<bits/stdc++.h>
using namespace std;
int jj1[100005],jj2[100005],c[100005];
string a,b;
int main()
{
cin>>a>>b;
int lena=a.size(),lenb=b.size();
if(lena<lenb||(lena==lenb&&a<b)) swap(a,b),cout<<"-";
for(int i=0;i<lena;i++) jj1[i]=a[lena-1-i]-'0';
for(int i=0;i<lenb;i++) jj2[i]=b[lenb-1-i]-'0';
for(int i=0;i<lena;i++)
{
if(jj1[i]<jj2[i])
{
jj1[i]+=10;
jj1[i+1]--;
}
c[i]=jj1[i]-jj2[i];
}
while(c[lena]==0&&lena>1) --lena;
for(int i=lena;i>=1;i--) cout<<c[i];
return 0;
}
```
还是错的@[PuJunXi](/user/1011579)
by 违规用户名971024 @ 2024-02-24 21:26:03
调不出来,先看看我的吧。
补作业去了。
抱歉。
```cpp
#include<iostream>
const int SIZE=1e5+5;
int a[SIZE],b[SIZE],c[SIZE];
std::string c1,c2;
inline void init(),sub(),print();
signed main(){
init();
sub();
print();
}
inline void init(){
std::cin>>c1>>c2;
if(c1.size()<c2.size()||(c1.size()==c2.size()&&c1<c2)){
std::string tmp;
tmp=c1;
c1=c2;
c2=tmp;
printf("-");
}
*a=c1.size(),*b=c2.size(),*c=1;
for(int i=1;i<=*a;++i) a[i]=c1[*a-i]-'0';
for(int i=1;i<=*b;++i) b[i]=c2[*b-i]-'0';
}
inline void sub(){
while(*c<=*a||*c<=*b){
if(a[*c]<b[*c]){
a[*c]+=10;
--a[*c+1];
}
c[*c]=a[*c]-b[*c];
++(*c);
}
while(c[*c]==0&&*c>1) --(*c);
}
inline void print(){
for(int i=*c;i;--i) printf("%d",c[i]);
}
```
@[feizhukkksc03](/user/971024)
by PuJunXi @ 2024-02-24 21:40:45