代码如下:
#include#include #include using namespace std;int main(){ int a[256],b[256],c[256],lena,lenb,lenc,i; char n[256],n1[256],n2[256]; memset(a,0,sizeof(a)); memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); scanf("%s",n1); scanf("%s",n2); if(strlen(n1) <0) { strcpy(n,n1);//复制与转换 strcpy(n2,n); strcpy(n2,n); cout<<"-";//减法特有性质,如果被减数小于减数,那么先把他们倒过来算,最后在加一个负号 } lena=strlen(n1);lenb=strlen(n2);//确定位数 for(i=0;i<=lena-1;i++)a[lena-i]=int(n1[i]-48);////利用ascll码性质,0的ascll码为48.减去零就是ascll减去48,成功将字符转化为数字 for(i=0;i<=lenb-1;i++)b[lenb-i]=int(n2[i]-48);//同上 while(i<=lena||i<=lenb) { if(a[i] 1)//如果最高为上为零,lenc减一,消去 lenc--; for(i=lenc;i>=1;i--)//此for用来一位一位倒序输出 cout<