ps:wa了好多次,然后才发现是输入的时候%s和%s要隔开一个空格,我想当然了...

代码:

#include "stdio.h"
#include "string.h"
char a[];
char b[];
char c[];
char d[];
int cal();
int main(){
int i,n1,n2,T,ncase=;
scanf("%d",&T);
getchar();
while(T--){
scanf("%s %s",&a,&b);
memset(c,'\0',sizeof(c)); //字符串清空
memset(d,'\0',sizeof(d));
cal();
n1=strlen(c); //c用来存算得后的结果,d是c不够位了就存在d
n2=strlen(d);
if(ncase!=) puts("");
printf("Case %d:\n",ncase++);
printf("%s + %s = ",a,b);
if(n2>) printf("%c",d[]);
for(i=;i<n1;i++){
printf("%c",c[i]);
}
puts("");
memset(a,'\0',sizeof(a)); //重新清空a和b
memset(b,'\0',sizeof(b));
}
return ;
}
int cal(){
int i,flag,j,n1,n2,m,flag1,m1,k1,k2;
int c1,d1,sum;
n1=strlen(a); //判断a和b的长度
n2=strlen(b);
if(n1>n2){
m1=n1;
flag=; //flag用来记录谁长...
}
else if(n1<n2){
m1=n2;
flag=;
}
else if(n1==n2){
m=n1;
flag=;
}
flag1=;
for(;n1> && n2>;n1--,n2--){
c1=a[n1-]-''; //转成整数来相加
d1=b[n2-]-'';
if(c1+d1+flag1>=){
sum=c1+d1-+flag1; //判断是否需要进位
flag1=;
}
else if(c1+d1+flag1<){
sum=c1+d1+flag1;
flag1=;
}
c[(n1>n2?n1-:n2-)]=sum+''; //放到c组
}
if(flag==){ //如果是a长度比b长度长..
m=n1-n2;
for(i=m-;i>=;i--){
sum=(a[i]-'')+flag1;
if(sum>=){
flag1=;
c[i]=sum-+'';
}
else{
flag1=;
c[i]=sum+'';
}
}
if(flag1==){
d[]='';
d[]='\0';
}
c[m1]='\0';
}
else if(flag==){
m=n2-n1;
for(i=m-;i>=;i--){
sum=(b[i]-'')+flag1;
if(sum>=){
flag1=;
c[i]=sum-+'';
}
else{
flag1=;
c[i]=sum+'';
}
}
if(flag1==){ //如果位数超出了c数组,用d数组来存
d[]='';
d[]='\0';
}
c[m1]='\0';
}
else if(flag==){ //如果位数相同...用d数组来存..
c[m]='\0';
if(flag1>){
d[]='';
d[]='\0';
}
else{
d[]='\0';
}
}
return flag;
}

hdu 1002的更多相关文章

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

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

  2. HDU 1002 A - A + B Problem II (大数问题)

    原题代号:HDU 1002 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 原题描述: Problem Description I have a ...

  3. hdu 1002.A + B Problem II 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目意思:就是大整数加法. 两年几前做的,纯粹是整理下来的. #include <stdi ...

  4. hdu 1002大数(Java)

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

  5. hdu 1002 A+B

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1002 复习一下大数 模板: #include <stdio.h> #include <s ...

  6. hdu 1002 Java 大数 加法

    http://acm.hdu.edu.cn/showproblem.php?pid=1002 PE   由于最后一个CASE不须要输出空行 import java.math.BigInteger; i ...

  7. 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) ...

  8. 大数加法~HDU 1002 A + B Problem II

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 题意: 数学题,A+B; 思路,这个数非常大,普通加法一定会超时,所以用大数加法.大数加法的基 ...

  9. HDU 1002 - A + B Problem II - [高精度]

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 Problem DescriptionI have a very simple problem ...

  10. HDU 1002 分类: ACM 2015-06-18 23:03 9人阅读 评论(0) 收藏

    昨天做的那题其实和大整数相加类似.记得当初我大一寒假就卡在这1002题上,结果之后就再也没写题... 到今天终于把大整数相加写了一遍. 不过写的很繁琐,抽时间改进一下写简洁一点. #include&l ...

随机推荐

  1. 日期时间组件 - layui.laydate

    全部参数 一.核心方法:laydate(options); options是一个对象,它包含了以下key: '默认值' { elem: '#id', //需显示日期的元素选择器 event: 'cli ...

  2. 转: Redis基础总结

    转文:http://blog.csdn.net/basycia/article/details/52175429 1.redis是什么 2.redis的作者何许人也 3.谁在使用redis 4.学会安 ...

  3. Python【2】-列表和元组

    一.序列 python包含六种内建的序列:列表.元组.字符串.unicode字符串.buffer对象.xrange对象. 列表可以修改,元组是不能修改的. 二.列表 列表list是变长序列,其中的内容 ...

  4. Shell Script (2) - global.sh

    cd web/ui npm run e2e-dev -- -i 1 "should be able to add function with argument to a ingredient ...

  5. 4412开发板升级4.2之后改了logo开机后屏幕闪解决办法

    荣品4412开发板升级到4.2请注意增加虚拟机内存. 问:荣品4412开发板升级到Android4.2之后,改了logo.4412板子开机后,过一会屏幕就一闪一闪,是什么原因? Android4.2编 ...

  6. 移动apache访问日志后如何立即生效

    一次偶然测试发现移动了apache下的access_log日志后或者修改了access_log的名称,该移动的日志或修改名称的日志文件仍记录了apache访问信息,即没有实时生效,后来查了资料才知道: ...

  7. Visual Studio 2015 新建MVC项目 Package Manager Console不能使用 (HRESULT: 0x80131500)

    Visual studio 2015 突然新建不了MVC项目,报出错误: HRESULT: 0x80131500 在折腾了很长时间,最后在Github上看到这样一个贴 地址:https://githu ...

  8. java.io.FileNotFoundException: ...\ibs\library-1.0.17.jar (系统找不到指定的文件。)

    网上找一下相应的jar包,放到对应的路径下就好了

  9. AWS-CDH5.5安装-软件下载

    1.下载安装介质 下载CM安装文件: [root@ip---- cm5.5.0]# wget -c -r -nd -np -k -L -A rpm http://archive-primary.clo ...

  10. IE6不支持min-height或max-width等完美解决方法

    又是IE6!!!坑人的IE6,不支持min-height,但是实际操作中,这个属性是非常需要的.那IE6下面怎么实现呢?请看geniusalien提供的完美解决方案:(geniusalien温馨提示: ...