大整数减法
#include <iostream>
#include <string>
using namespace std;
#define max 1000
int main(){
int a[200],b[200],c[200],x,y,z,flag=0;//x,y,z为长度
char a1[max],a2[max];
cout<<"请输入两个大整数:"<<endl;
cout<<"第一个整数:";
cin>>a1;
cout<<"第二个整数:";
cin>>a2;
x=strlen(a1);
y=strlen(a2);
z=1;
if(x>=y) {
for(int i=0; i<x; i++)//被减数 {
a[x-i] = a1[i]-'0';
}
for(int j=0; j<y; j++)//减数 {
b[y-j] = a2[j]-'0';
}
for(int m=y+1; m<=x; m++)//减数与被减数位数不等,减数补0 { b[m]=0; } while(z<=x) { c[z]=a[z]-b[z]-flag; if(c[z]<0) { flag=1; c[z]+=10; } else { flag=0; } z++; } cout<<"两数相减的结果为:"; for(int k=z-1;k>=1;k--) //倒序输出 { cout<<c[k]; } } if(x<y) { for(int i=0; i<x; i++)//被减数 { a[x-i] = a1[i]-'0'; } for(int j=0; j<y; j++)//减数 { b[y-j] = a2[j]-'0'; } for(int m=x+1; m<=y; m++)//减数与被减数位数不等,减数补0 { a[m]=0; } while(z<=y) { c[z]=b[