第二部分:基础算法
第一章:高精度计算——加法
#include
#include
#include
using namespace std;
int main()
{
char al[100],bl[100];
int a[100],b[100],c[100],lena,lenb,lenc,i,x;
memset(a,0,sizeof(a)); //初始化函数:将某一块内存中的内容全部替换成指定值
memset(b,0,sizeof(b));
memset(c,0,sizeof©);
gets(al); //持续读入,直到遇到换行符
gets(bl);
lena=strlen(al);
lenb=strlen(bl);
for(i=0;i<=lena-1;i++)
{
a[lena-i]=al[i]-48;
//倒序存放,并字符型转换为整型
}
for(i=0;i<=lena-1;i++)
{
b[lena-i]=bl[i]-48;
//cout<<b[lena-i];
}
for(i=1,x=0;i<=lena || i<=lenb ;i++)
{
c[i]=a[i]+b[i]+x;
x=c[i]/10;
c[i]=c[i]%10;
}
c[i]=x; //最高位赋值
if(c[i]==0) //处理最高位
i–;
for(;i>=1;i–) //倒序输出正确结果
{
cout<<c[i];
}
cout<<endl;
}