今天早上没事干又把这个敲了一遍,虽然手冻得不行,不过又深入理解理解还可以哈。

难点就在给你的整数可能很大很长,所以long long 肯定不行,得用字符串来读取存储,然后注意一下相加的时候进位,最后输出注意去0就OK啦。(核心思想就是大数逆序相加最后逆序再输出就是正确结果了)。然后下边是自己写的思路比较清晰的代码,大家可以借鉴后再自己想想有没有更简单的,可以互相学习呀。

#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
using namespace std;
char A[],B[];
int a[],b[],c[];
void nuxu()//简单的逆序存入整型数组
{
memset(a,,sizeof(a));
memset(b,,sizeof(b));
memset(c,,sizeof(c));
int k1=,k2=,ans;
ans=strlen(A);
for(int i=ans-;i>=;i--)
a[k1++]=A[i]-'';
ans=strlen(B);
for(int i=ans-;i>=;i--)
b[k2++]=B[i]-'';
}
void yunsuan()
{
int k=strlen(A)>strlen(B)?strlen(A):strlen(B);
int len=;
for(int i=;i<k;i++)
{
c[i]+=a[i]+b[i];
if(c[i]>)//进位操作,为什么只用判一次,或者说只进位一次大家再自己想想啦;
{
c[i+]++;
c[i]-=;
}
}
}
int main()
{
int t,flag;
scanf("%d",&t);
for(int j=;j<=t;j++)
{
flag=;
if(j!=)
printf("\n");//题目要求格式
scanf("%s%s",A,B);
nuxu(); //写main函数外边更清晰,简便点
yunsuan();
printf("Case %d:\n%s + %s = ",j,A,B);//以上是题目要求输出格式
for(int i=;i>=;i--)//逆序输出
{
if(c[i]!=||flag==)//直接控制去前导0了
{
printf("%d",c[i]);
flag=;
}
}
printf("\n");
}
}

大整数加法 HDU1002的更多相关文章

  1. HDU1002——大整数加法

    题目: I have a very simple problem for you. Given two integers A and B, your job is to calculate the S ...

  2. A——大整数加法(HDU1002)

    题目: I have a very simple problem for you. Given two integers A and B, your job is to calculate the S ...

  3. AC日记——大整数加法 openjudge 1.6 10

    10:大整数加法 总时间限制:  1000ms 内存限制:  65536kB 描述 求两个不超过200位的非负整数的和. 输入 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0. 输出 ...

  4. 2981:大整数加法-poj

    2981:大整数加法 总时间限制:  1000ms 内存限制:  65536kB 描述 求两个不超过200位的非负整数的和. 输入 有两行,每行是一个不超过200位的非负整数,可能有多余的前导0. 输 ...

  5. POJ 2506 Tiling(递推+大整数加法)

    http://poj.org/problem?id=2506 题意: 思路:递推.a[i]=a[i-1]+2*a[i-2]. 计算的时候是大整数加法.错了好久,忘记考虑1了...晕倒. #includ ...

  6. openjudge计算概论-大整数加法

    /*=====================================================================1004:大整数加法总时间限制: 1000ms 内存限制: ...

  7. 剑指offer第12题打印从1到n位数以及大整数加法乘法

       字符和数字加减就是字符的ASCII码和数字直接加减. 方法一: 1)在字符串操作中给一个整形数字加(字符0)就是把它转化为字符,当然给一个字符减去(字符0)就可以把它转化为数字了:如果确实是最后 ...

  8. Javascript实现大整数加法

    记得之前面试还被问到过用两个字符串实现两个大整数相加,当时还特别好奇好好的整数相加,为什么要用字符串去执行.哈哈,感觉当时自己还是很无知的,面试官肯定特别的无奈.今天在刷算法的时候,无意中看到了为什么 ...

  9. [CodeWars][JS]实现大整数加法

    问题描述 实现‘字符串加法’,即将两个以字符串形式表示的数字相加,得到结果然后返回一个新的字符串. 例如:输入‘123’,‘321’,返回‘444’. 这样在进行两个任意大的整数相加的时候,既不会溢出 ...

随机推荐

  1. MySql安装和基本管理

    一.什么是数据库? mysql就是一个基于socket编写的C/S架构的软件 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司.MySQL 最流 ...

  2. C++中虚函数的作用

    一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始) 简单地说,那些被virtual关键字修饰的成员函数,就是虚函数.虚函数的作用,用专业术语来解释就是实现多态性(Po ...

  3. Context initialization failed

    Context initialization failed org.springframework.beans.factory.BeanDefinitionStoreException: Invali ...

  4. Google翻译实现

    https://blog.csdn.net/yingshukun/article/details/53470424 Google翻译实现

  5. php脚本#!/usr/bin/env php写法的好处

    脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它.比如php脚本的第一行可以写成如下几种格式#!/usr/bin/php#!/usr/bin/env php#!/us ...

  6. php使用phpexcel导出文件

    php使用phpexcel导出文件 首先需要去官网https://github.com/PHPOffice/PHPExcel/下载PHPExcel 代码如下: <?php date_defaul ...

  7. atomic 原子操作

    原子操作:操作仅由一个独立的CPU指令代表和完成.保证并发环境下原子操作的绝对安全 标准库代码包:sync/atomic atomic是最轻量级的锁,在一些场景下直接使用atomic包还是很有效的 C ...

  8. mysql/mariadb应该使用utf8mb4而不是utf8

    详情参考https://mp.weixin.qq.com/s?__biz=MzIwMzg1ODcwMw==&mid=2247487968&idx=1&sn=2ff7b511f6 ...

  9. mysql 中语句执行的顺序以及查询处理阶段的分析

    原文链接:http://www.php.cn/mysql-tutorials-408865.html 本篇文章给大家带来的内容是关于mysql中语句执行的顺序以及查询处理阶段的分析,有一定的参考价值, ...

  10. Windows 动态链接库DLL使用

    转载:https://blog.csdn.net/heyabo/article/details/8721611 转载:https://www.cnblogs.com/jin521/p/5598529. ...