加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

A+B问题II

发布时间:2020-12-14 03:41:03 所属栏目:大数据 来源:网络整理
导读:A+B Problem II 时间限制: 3000 ?ms ?|? 内存限制: 65535 ?KB 难度: 3 描述 ?计算两个数的和!(要求能计算1000位以内的数的和) 样例输入 112233445566778899 998877665544332211 样例输出 2222222222222221110 简单说:就是大数相加! 代码: /**问题描

A+B Problem II

时间限制: 3000?ms ?|? 内存限制: 65535?KB
难度: 3
描述

?计算两个数的和!(要求能计算1000位以内的数的和)

样例输入
112233445566778899 998877665544332211
样例输出
2222222222222221110

简单说:就是大数相加!

代码:

/*
*问题描述:A+B 问题 
*运行环境:Dev-C++ 4.9.9.2 
*作者:    牟尼
*日期:    2014/3/17 
*/ 
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;

#define MAX 1005
int a[MAX],b[MAX];

int main()
{
    char s1[MAX],s2[MAX];
    int res[MAX];
    int i,j,len1,len2;
	
	scanf("%s%s",s1,s2);
	len1 = strlen(s1);
	len2 = strlen(s2);

	memset(a,sizeof(a));
	memset(b,sizeof(b));
	memset(res,sizeof(res));
	
	for(i = len1-1,j = 0; i >= 0; --i) //存入整型数组 
		a[j++] = s1[i] - '0';
	for(i = len2-1,j = 0; i >= 0; --i)
		b[j++] = s2[i] - '0';
	
	
	int t = 0;
	int len = len1 > len2?len1:len2;
	for(i = 0; i < len; ++i)  //累加求和 
	{
		res[i] = t+a[i]+b[i];
		t = res[i]/10;
		res[i] %= 10;
	}
	len = len + 2;
	while(len > 0 && res[len] == 0) //确定和的长度 
		len--;
	
	for(i = len; i >= 0; --i)
	{
		printf("%d",res[i]);  
	}
	

//	system("PAUSE");

    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读