code[vs] 3115 高精度练习之减法

来源:互联网 发布:js获取单选框选中属性 编辑:程序博客网 时间:2024/05/17 23:34
/*作者:桦清_L*/#include <iostream>#include <stdio.h>#include <string>#include <string.h>#include <algorithm>using namespace std;char ca[501];char cb[501];int a[501];int b[501];int c[501];void cover(int l,char c[],int a[]){    int n=0;    for(int i=l-1;i>=0;i--) a[n++]=c[i]-'0';}int main(){    cin>>ca>>cb;    int l1=strlen(ca);    int l2=strlen(cb);    int mark=1;    int mark2=1;    if(l1<l2)    {        swap(ca,cb);        mark=0;        l1=strlen(ca);        l2=strlen(cb);    }    else if(l1==l2)    {        for(int i=0;i<l1;i++)        {            if(ca[i]<cb[i])            {                swap(ca,cb);                mark=0;                break;            }        }    }    cover(l1,ca,a);    cover(l2,cb,b);    for(int i=0;i<l1;i++)    {        if(a[i]-b[i]<0) {a[i]+=10;a[i+1]-=1;}        c[i]=a[i]-b[i];    }    if(!mark) cout<<"-";    for(int i=l1-1;i>=0;i--)    {        if(a[i]==0&&mark2) continue;        mark2=0;        cout<<c[i];    }    cout<<endl;    return 0;}

0 0
原创粉丝点击