高精度加法

#include<iostream>
using namespace std;
int main()
{
    char a[1000],b[1000];
    int a2[1000]={0},b2[1000]={0},c[1000]={0},ws,tmp;
    cin>>a>>b;
    for(int i=0;i<strlen(a);i++)
    {
            a2[strlen(a)-i]=a[i]-‘0’;
    }
    for(int i=0;i<strlen(b);i++)
    {
            b2[strlen(b)-i]=b[i]-‘0’;
    } 
    ws=strlen(a)>strlen(b)?strlen(a):strlen(b);
    for(int i=0;i<=ws;i++)
    {
            c[i]+=a2[i]+b2[i];
            tmp=(int)(c[i] / 10);
            c[i]-=tmp*10;
            c[i+1]+=tmp;
    }
    for(int i=ws+1;i>0;i–)
       if(i!=ws+1 || c[i]!=0)
          cout<<c[i];
    cout<<"\n";
    //system("pause");
    return 0;
}
 

发表评论?

1 条评论。

  1. 有点复杂,看不懂!

发表评论

注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

:wink: :twisted: :roll: :oops: :mrgreen: :lol: :idea: :evil: :cry: :arrow: :?: :-| :-x :-o :-P :-D :-? :) :( :!: 8-O 8)

本文链接:https://twd2.me/archives/170QrCode