⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1002(大数加法).cpp

📁 杭电 acm部分代码 有兴趣的可以下载 谢谢
💻 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 + -