📄 1002(大数加法).cpp
字号:
//大数加法转高精度加法
#include<stdio.h>
#include<string.h>
const long MAX=1005;
void transform(char str[],long result[])
{
long len=strlen(str),i;
memset(result,0,sizeof(long)*MAX);
for(result[0]=len,i=0;i<len;i++) result[len-i]=str[i]-'0';
return;
}
void plus(long operator_1[],long operator_2[],long result[])
{
long sum[MAX],i,len=operator_1[0]>operator_2[0]?operator_1[0]:operator_2[0];
memset(sum,0,sizeof(long)*MAX);
for(i=1;i<=len;i++){
sum[i]+=operator_1[i]+operator_2[i];
if(sum[i]>=10) sum[i]-=10,sum[i+1]++;
}
sum[0]=sum[i]==0?len:len+1;
memcpy(result,sum,sizeof(long)*MAX);
return;
}
int main()
{
int T,i,j;
char a[1005],b[1005];
long c[1005],d[1005],res[1005];
scanf("%d",&T);
for(i=1;i<=T;i++){
scanf("%s%s",&a,&b);
transform(a,c);
transform(b,d);
plus(c,d,res);
printf("Case %d:\n",i);
printf("%s + %s = ",a,b);
for(j=res[0];j>=1;j--){
printf("%ld",res[j]);
}
printf("\n");
if(i<T)
printf("\n");
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -