高精度计算加法

  今天学了高精度计算,学的我一愣一愣的。旁边的罗淦表示一脸懵逼(这家伙就在旁边不要脸的来看)

“#include<bits/stdc++.h>
using namespace std;
int a[250],b[250],c[250];//定义全局变量
char a1[250],b1[250];//定义全局变量
int main()
{
 int lena, lenb,lenc,i,x;
 fgets(a1,250,stdin);//输入a1
 fgets(b1,250,stdin);//输入b1
 lena=strlen(a1)-1;//赋值:b1的长度(反序)
 lenb=strlen(b1)-1;//赋值:a1的长度(反序)
 for(i=0;i<=lena-1;i++)//“lena-1”表示从一开始订数组
  a[lena-i]=a1[i]-48;//调转为正序并转换为数字
 for(i=0;i<=lenb-1;i++)//同上
  b[lenb-i]=b1[i]-48;//同上
 lenc=1;//控制变量赋值
 x=0;
 while(lenc<=lena||lenc<=lenb)
 {
  c[lenc]=a[lenc]+b[lenc]+x;//加法计算
  x=c[lenc]/10;//进位计算
  c[lenc]%=10;//个位计算
  lenc++;
 }
 while(c[lenc]==0&&lenc>1)//去掉前驱零(如果全是零便保留一位)
  lenc--;
 for(i=lenc;i>0;i--)//输出
  printf("%d",c[i]);
  printf("\n");//换行
 return 0;
}”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值