codeup 1949 Problem A:a+b

问题 A: a+b

题目描述

实现一个加法器,使其能够输出a+b的值。

输入

输入包括两个数a和b,其中a和b的位数不超过1000位。

输出

可能有多组测试数据,对于每组数据,
输出a+b的值。

样例输入

6 8
2000000000 30000000000000000000

样例输出

14
30000000002000000000
//大整数的加法
#include
#include
struct bign{
	int d[1001];//1000是错误50%,一直找不到错,居然是这个 
	int len;
	bign()//构造函数,这样每次定义结构体变量时,都会对变量进行初始化 
	{
		memset(d,0,sizeof(d));
		len=0;
	} 
}; 
bign change(char str[])//将字符串(大整数)转换为bign 
{
	bign a;
	a.len=strlen(str);
	for(int i=0;i=0;i--)//i++错 
	{
		printf("%d",a.d[i]);//从数组的高位输出,即从大整数的高位输出 
	}
	printf("\n");
 } 
int main()
{
	char str1[1001],str2[1001];//1000错误50% 
	while(scanf("%s%s",str1,str2)!=EOF)
	{
		bign a=change(str1);
		bign b=change(str2);
		print(add(a,b));
	} 
	return 0;	
}

注意:

  1. 避坑呀,一定要避坑呀,啊啊啊啊啊啊啊啊啊, 题中a和b的位数不超过1000位,但一定要定义超过1000,比如1001,否则会出现50%的错误

 

你可能感兴趣的:(codeup)