#include <stdio.h>
#include <string.h>
#define MAX 1009
int main()
{
char a[MAX]={},b[MAX]={};
int n,i,len1,len2,j=,z=,r=,k=;
char *p=NULL;
scanf("%d",&n);
if( <n&&n< ){
for(i=;i<n;i++){
j=;
z=;
r=;
scanf("%s",a);
scanf("%s",b);
printf("Case %d:\n",i+);
printf("%s + %s = ",a,b);
len1=strlen(a);
len2=strlen(b);
if( len1>len2 ){
b[len1]='\0';
len1--;
len2--;
while( len2>= ){
b[len1--]=b[len2--];
}
while(len1>=){
b[len1--]='';
}
}
else if( len2>len1 ){
a[len2]='\0';
len1--;
len2--;
while( len1>= ){
a[len2--]=a[len1--];
}
while(len2>=){
a[len2--]='';
}
}
len1=strlen(a);
len2=strlen(b);
len1--;
len2--;
while( len1>= && len2>= ) {
z= (b[len2]-'') + (a[len1]-'') + r;
r=z/;
z=z-r*;
b[len2]=z+'';
len1--;
len2--;
};
if( r!= ){
printf("");
printf("%s\n",b);
}
else{
len2=strlen(b);
while( b[k]==''&&k<len2 ){
k++;
}
p=&b[k];
printf("%s\n",p);
}
if(i!=n-)
printf("\n"); }
}
return ;
}

格式很重要:

Case+空格+i+:(冒号后无空格)

a+空格+b+空格+=+空格+c(直接把+号去掉,再按空格键代替空格)

(空一行)

<<-继续上面格式->>

注意:最后一个case输完后是不需要空行的,所以会有代码

  if(i!=n-1)
printf("\n");  //当非最后一个case时,输出一个空行 解题思路:
1、数字可能太大,得用数组逐个记下来,第一个存在a,另一个存在b。
2、strlen算它们各自的长度(strlen不计算'\0'),从数组的第strlen个开始
3、相加之后要考虑是否需要进一位,需要的话把十位上数字提出来,提取出来和第strlen-1的那两个数相加。
4、刚被提取个位上的数字存到长度较长的数组中,节省点空间。
5、一直重复。 要注意:
输入可能是00001 00002,那么你要输出3,不能是00003。
输入可能是99999 99998,那么考虑进位时,因两个数组一样长,所以可能进位会填不进数组,要单独输出。
输入可能是99999 1,那么也是考虑进位的问题。
输入可能是1 9999,也是进位问题,要考虑不同长度的数字的前后顺序。

HDU 1002 A + B Problem II(AC代码)的更多相关文章

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

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

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

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

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

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

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

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

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

  6. HDU 1002 A + B Problem II

    A + B Problem II   Time Limit: 1000MS      Memory Limit: 65536K Total Submissions: 16104    Accepted ...

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

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

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

    题目链接 Problem Description I have a very simple problem for you. Given two integers A and B, your job ...

  9. hdu 1002 A + B Problem II(大数)

    题意:就是求a+b (a,b都不超过1000位) 思路:用数组存储 第一道大数的题目,虽然很水,纪念一下! 代码: #include<cstdio> #include<cstring ...

随机推荐

  1. word2013设置页面边框

    如图:

  2. 在 Linux 中怎样将 MySQL 迁移到 MariaDB 上

    自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了 MySQL.在社区驱动下,促使更多人移到 MySQL 的另一个叫 M ...

  3. 用PHP做服务器接口客户端用http协议POST访问安全性一般怎么做

    我的问题是,如果不做安全相关处理的话,一些可能改变数据库的操作可能会遭遇垃圾数据提交什么的,毕竟要找到这些信息只要找个http包就可以了 系统无用户登录 新手问题(从来没做过服务端开发),如果可以,给 ...

  4. php解压zip文件

    <?php header("Content-type:text/html;charset=utf-8"); function get_zip_originalsize($fi ...

  5. superobject中 JavaToDelphiDateTime的使用

    procedure TForm1.FormCreate(Sender: TObject); var n: TDateTime; i64: Int64; s: Integer; begin Memo1. ...

  6. Hello Hibernate

    Hibernate 一个框架; 一个 Java 领域的持久化框架; 一个 ORM 框架 ORM(Object/Relation Mapping): 对象/关系映射 –ORM的思想:将关系数据库中表中的 ...

  7. sql思维

    写sql的思路不同于常规编程语言(C.python)等等.前者,考虑如何一步步地得到最终答案:后者,考虑如何一步步地收缩数据范围. 简而言之,前者是面向过程化(for each row do x),后 ...

  8. 使用Google API 下拉刷新或者增加数据 SwipeRefreshLayout

    贴出布局代码: <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/id_swipe_ly" and ...

  9. 13个优秀的开源UML工具介绍

    本文将为您介绍12个优秀的UML工具: 1. StarUML StarUML(简称SU),是一种创建UML类图,是一种生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一个开源项目 ...

  10. 通过使用ScriptManager.RegisterStartupScript,呈现后台多次使用alert方法

    在前台HTML中加入alert或者confirm,相信大家已经非常熟悉并且经常使用: <div onclick="alert('hello')">按钮1</div ...