高精度加法计算(C++版)

   在一些数据位数较大的加法计算中,编译器提供的数据类型往往不能满足要求的精度,因此,我们可以使用数组来保存来保存该数的每一位,模拟加法的相加进位运算。假设整数a,b不超过100位,以下程序能模拟整数a,b相加。输入2行,依次为a,b两整数,输出a+b的值。
#include
using namespace std;
void re(string &a,int n); //将字符串逆序 
int main()
{
 int la,lb,i,r,t=0,j,k,s,g=0;
 string a,b;   //使用string类方便一次输入a,b 
 int c[200]={0},x[100]={0},y[100]={0};
 cin>>a>>b;
 la=a.length();  //使用string类的成员函数求字符串长度 
 lb=b.length();
 re(a,la);     //将a,b两字符串逆序,方便低位先进行运算 
 re(b,lb);
 j=la;
 r=lb;
 for(i=0;i= lb ? la : lb; //将两串长度变为与最长的串相同,较短的前面补0 
 if(la>lb)
 {
  for(i=lb;i=0;i--)  //从高到低,从第一个不为0的数开始输出和 
 {
  if(c[i]!=0)
  {
   g=1;
  }
  if(g)
  {
   cout<

你可能感兴趣的:(基础编程)