一.头文件
1.<iostream>
*cstring 速度更快,尽量不用string
二.代码
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int N=1e5+10;
char s1[N],s2[N],s3[N];
int a[N],b[N],c[N],lena,lenb,MAX,x;
int main(){
cin>>s1>>s2;
if(strlen(s2)>strlen(s1) or strlen(s2)==strlen(s1) and strcmp(s1,s2)<0){
strcpy(s3,s1);
strcpy(s1,s2);
strcpy(s2,s3);
cout<<"-";
}
lena=strlen(s1);
lenb=strlen(s2);
MAX=max(lena,lenb);
for(int i=0;i<lena;i++) a[i]=s1[lena-1-i]-'0';
for(int i=0;i<lenb;i++) b[i]=s2[lenb-1-i]-'0';
for(int i=0;i<MAX;i++){
c[i]=a[i]-b[i]-x;
if(c[i]<0){
x=1;
c[i]+=10;
}else x=0;
}
while(!c[MAX-1] and MAX>=2) MAX--;
for(int i=MAX-1;i>=0;i--){
cout<<c[i];
}
return 0;
}
三.代码解析
Line1-3:导入头文件
Line4:命名空间
Line5-7:变量
Line9:读入两个数
Line10-15:检测结果是否为负数
Line16-18:计算长的一个
Line19-20:倒序
Line21-27:一位一位计算
Line28-31:倒序输出
***此文为原创,如有不正请多指示***
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/C_User1024/article/details/137716343