2 条题解
-
0
#include <bits/stdc++.h> using namespace std; const int maxn=250; char sa[maxn],sb[maxn]; char tmp[maxn]; int a[maxn],b[maxn],c[maxn]; int main(){ cin>>sa; cin>>sb; int la=strlen(sa); int lb=strlen(sb); if (la<lb||((la==lb)&&strcmp(sa,sb)<0)){//看一下是不是负数情况 strcpy(tmp,sa);//比如这个情况,就是将sa数组赋值给tmp strcpy(sa,sb); strcpy(sb,tmp); swap(la,lb); cout<<'-'; } int lc=la>lb?la:lb; for (int i=0;i<la;i++){ a[la-i]=sa[i]-'0'; } for (int i=0;i<lb;i++){ b[lb-i]=sb[i]-'0'; }//倒序 for (int i=1;i<=lc;i++){ if (a[i]<b[i]){ a[i]+=10; a[i+1]--; }//进位 c[i]=a[i]-b[i];//计算 } while(c[lc]==0){ lc--; }//去除前导0 for (int i=lc;i>=1;i--){ cout<<c[i]; } return 0; }
- 1
信息
- ID
- 941
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 4
- 标签
- 递交数
- 45
- 已通过
- 22
- 上传者