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. 关于UIView的AutoresizingMask属性的研究

    在 UIView 中有一个autoresizingMask的属性,它对应的是一个枚举的值(如下),属性的意思就是自动调整子控件与父控件中间的位置,宽高. 1 2 3 4 5 6 7 8 9 enum  ...

  2. 从下往上看--新皮层资料的读后感 第四部分 来自神经元的设计-perceptron 感知机

    搬地方了,其他的部分看知乎:https://zhuanlan.zhihu.com/p/22114481 直到50年代,perceptron被Frank Rosenblatt搞了出来.perceptro ...

  3. 获取Mac地址

    netapi32.lib#include <NB30.h>; typedef struct _ASTAT_ { ADAPTER_STATUS adapt; NAME_BUFFER Name ...

  4. Windows 2003 EE升级服务错误号:0x8DDD0018 解决办法

    错误提示: [错误号: 0x8DDD0018] 此站点无法继续,因为这些 Windows 服务中的一个或多个没有运行: “自动更新”功能(允许站点查找.下载和安装适用于您的计算机的高优先级更新程序) ...

  5. 实现断点续传的FTP下载类(支持多线程多任务下载)

    using System; using System.Collections.Generic; using System.Text; using System.Threading; using Sys ...

  6. win7优化

  7. BZOJ2408 混乱的置换

    这道题即THUSC 2015 t3...只不过数据范围$n, m ≤ 10^5$ 可以上网查这个鬼畜的东西"Burrows-Wheeler Transform" 这道题要用到解压缩 ...

  8. 【思路】-URL重写

    URL重写  重写原理 过程分析 疑惑地方 lookfor app.Request.ApplicationPath如果有子目录的话 这个地方可能会起到作用,暂时不确定 bool flag = url. ...

  9. 安装 node-sass 的正确姿势

    SASS_BINARY_SITE=https://npm.taobao.org/mirrors/node-sass/ npm install node-sass

  10. 红帽RHEL7版本RHCE认证学习及考试经历

    RHCE是红帽公司推出的Linux系统的中级认证,考试全部采取上机形式,在考察考生的基础理论知识的同时还能考察实践动手操作能力,在Linux领域的价值是不可否认的,所以对于期望从事相关行业的同学们在上 ...