第二个点不对 求助大佬!

P2142 高精度减法

```cpp #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; char a[100001]; int x[100001],y[100001],asw[100001]; void sr(int n[]) { memset(a,0,sizeof(a)); cin>>a; n[0]=strlen(a); for(int i=n[0]-1;i>=0;i--) n[n[0]-i]=a[i]-'0'; } int pd(int n[],int m[]) { if(n[0]>m[0]) return 1; if(n[0]<m[0]) return -1; if(n[0]==m[0]) { for(int i=n[0];i>=1;i--) { if(n[i]>m[i]) return 1; if(n[i]<m[i]) return -1; if(i==1) return 0; } } } void gj(int n[],int m[]) { for(int i=1;i<=n[0];i++) { asw[i]=n[i]-m[i]; if(asw[i]<0) { asw[i]=asw[i]+10; n[i+1]--; } } } void printn(int n[]) { int beginn; for(int i=10000;i>=1;i--) if(n[i]!=0) { beginn=i; break; } for(int i=beginn;i>=1;i--) cout<<n[i]; return ; } int main() { sr(x); sr(y); int hahaha=pd(x,y); if(hahaha==0) { cout<<"0"; return 0; } if(hahaha==1) gj(x,y); if(hahaha==-1) { cout<<"-"; gj(y,x); } printn(asw); return 0; } ```
by 未远— @ 2018-02-07 10:55:06


|