今天学了高精度计算,学的我一愣一愣的。旁边的罗淦表示一脸懵逼(这家伙就在旁边不要脸的来看)
“#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;
}”