鱼C论坛

 找回密码
 立即注册
查看: 2683|回复: 0

[技术交流] 位数不一定相同且有进位的高精度数加法

[复制链接]
发表于 2020-3-3 18:32:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
弱鸡打卡

  1. #include <iostream>  
  2. #include <cstring>  
  3. #include <string>  
  4. #include <cstdio>  
  5. #include <iomanip>  
  6. #include <algorithm>  
  7. using namespace std;  
  8. int main(){   
  9.     char a[1001]={},b[2002]={};  
  10.     int a1[1001]={},b1[2002]={},c[1001]={},d[201]={};  
  11.     cin>>a>>b;                       
  12.     int lena=strlen(a);              
  13.     int lenb=strlen(b);              
  14.     int len=lena>lenb?lena:lenb;      
  15.     for(int i=0;i<lena;i++){           
  16.         a1[i]=a[lena-1-i]-'0';  
  17.     }   
  18.     for(int i=0;i<lenb;i++){   
  19.         b1[i]=b[lenb-1-i]-'0';  
  20.     }   
  21.     int lenc=0,x=0;  
  22.     while(lenc<len){   
  23.         c[lenc]=a1[lenc]+b1[lenc]+x;  
  24.         x=c[lenc]/10;  
  25.         c[lenc]%=10;      
  26.         lenc++;  
  27.     }   
  28.     if(x>0){   
  29.         c[lenc]=x;  
  30.     }else{      
  31.         lenc--;  
  32.     }           
  33.     for(int i=lenc;i>=0;i--){           
  34.         cout<<c[i];  
  35.     }           
  36.     return 0;  
  37. }      
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-15 07:55

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表