http://acm.hdu.edu.cn/showproblem.php?pid=1002

输入的数都是正整数,比较好处理,注意进位。

//非负大整数加法

# include <stdio.h>
# include <string.h>
# define MAX 1100 int main()
{
int t;
char Num1[MAX], Num2[MAX], Num3[MAX];//Num3[] 用于保存结果 scanf("%d", &t);
for(int Count = 0; Count < t; Count++)
{
if(Count) printf("\n"); scanf("%s %s", Num1, Num2); //获取两个数字的位数
int Len1 = strlen(Num1);
int Len2 = strlen(Num2);
int Len3 = 0;
memset(Num3, '0', sizeof(Num3)); //从低位开始按位相加 先不管进位
for(int i = Len1 - 1, j = Len2 - 1; i >= 0 && j >= 0; i--, j--)
{
Num3[Len3++] = Num1[i] + Num2[j] - '0'; //如果有一个数组先为空 则把另一个数组里剩下的数字放入Num3[]
if(i == 0)
while(j--) Num3[Len3++] = Num2[j];
else if(j == 0)
while(i--) Num3[Len3++] = Num1[i];
} //处理进位
for(int i = 0; i < Len3; i++)
{
if(Num3[i] > '9')
{
Num3[i + 1] += (Num3[i] - '0') / 10;
Num3[i] = (Num3[i] - '0') % 10 + '0';
}
} //格式输出
for(int i = MAX - 1; i >= 0; i--)
{
if(Num3[i] != '0')
{
printf("Case %d:\n", Count + 1);
printf("%s + %s = ", Num1, Num2);
while(i >= 0) printf("%c",Num3[i--]);
printf("\n");
}
}
} return 0;
}

  

HDOJ-1002 A + B Problem II (非负大整数相加)的更多相关文章

  1. hdoj 1002 A + B Problem II

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. hdoj 1002 A + B Problem II【大数加法】

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  3. hdoj 1002 A + B Problem II 高精度 java

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  4. Problem : 1002 ( A + B Problem II )

    经验总结:一定要注意输出的格式,字符的空格,空行,一定要观察清楚.如本题的最后一个输出结果后面没有空行.最后代码实现的时候需要判断一下,代码如下 !=n) cout<<endl; Prob ...

  5. 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)

    数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. while (a) //将每位数字取出来, ...

  6. HDU 1002 A + B Problem II(大整数相加)

    A + B Problem II Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u De ...

  7. SOJ 1002/1003/1004 大整数相加/相乘/相除

    三个题目分别考察大整数相加相乘相除运算.如果按照传统算法是取一个长数组,之后进行模拟或者FFT来进行运算.但是相对繁琐. 后来昨天的青岛区域赛网赛1001,用到了JAVA的BigDecimal,于是反 ...

  8. HDU 1002 A + B Problem II(高精度加法(C++/Java))

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  9. hduoj 1002 A + B Problem II

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目描述如下: A + B Problem II Time Limit: 2000/1000 M ...

随机推荐

  1. ubuntu下获取相应的内核源码

    一直以为是apt-get install ,apt-get search 也搜索不到相关的包,结果不是. 其实是 apt-get source linux-image-$(uname -r) 必须要用 ...

  2. EMMA: 免费java代码测试覆盖工具

    From:http://emma.sourceforge.net/ EMMA: a free Java code coverage tool   Code coverage for free: a b ...

  3. HDOJ-1010 Tempter of the Bone(dfs+剪枝)

    http://acm.hdu.edu.cn/showproblem.php?pid=1010 给出一个n*m的迷宫 X为墙 .为空地 S为起点 D为终点 给出时间T 每走一步花费一单位的时间 走过的空 ...

  4. 2、elasticsearch 的安装和插件的安装

    1.安装Elasticsearch集群 1.下载elasticsearch-2.0.0.tar.gz,执行tar -zxvf elasticsearch-2.0.0.tar.gz解压 2.修改conf ...

  5. Socket 相关的知识

    1.关于PF_INET和AF_INET的区别 在写网络程序的时候,建立TCP socket: sock = socket(PF_INET, SOCK_STREAM, 0);然后在绑定本地地址或连接远程 ...

  6. CCCardinalSplineBy概念

    cardianl 红衣主教 这个类是样条曲线动作, 其创建函数是CCCardinalSplineBy::create(float duration, cocos2d::CCPointArray *po ...

  7. 虚拟化之KVM virsh常用命令篇

    1,查看运行的虚拟机 virsh list 2,查看所有的虚拟机(关闭和运行的虚拟机) virsh list --all 3,连接虚拟机 virsh console +域名(虚拟机的名称) 4,退出虚 ...

  8. ffmpeg的使用

    -i "转换前的视频绝对路径\文件名.mp4" -movflags faststart+rtphint "转换后的视频绝对路径\文件名.mp4" 上面这条语句是 ...

  9. 【转载】Xcode6中添加pch文件

    //原文地址:http://www.cnblogs.com/YouXianMing/p/3989155.html 1. 新建工程: 2. 创建pch文件:cmd+n->other->PCH ...

  10. linux的find指令详解。

    引用:http://os.51cto.com/art/200908/141411.htm http://www.oschina.net/translate/15-practical-linux-fin ...