hdu 1002
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的更多相关文章
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. while (a) //将每位数字取出来, ...
- HDU 1002 A - A + B Problem II (大数问题)
原题代号:HDU 1002 原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 原题描述: Problem Description I have a ...
- hdu 1002.A + B Problem II 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目意思:就是大整数加法. 两年几前做的,纯粹是整理下来的. #include <stdi ...
- hdu 1002大数(Java)
A + B Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- hdu 1002 A+B
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1002 复习一下大数 模板: #include <stdio.h> #include <s ...
- hdu 1002 Java 大数 加法
http://acm.hdu.edu.cn/showproblem.php?pid=1002 PE 由于最后一个CASE不须要输出空行 import java.math.BigInteger; i ...
- 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) ...
- 大数加法~HDU 1002 A + B Problem II
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 题意: 数学题,A+B; 思路,这个数非常大,普通加法一定会超时,所以用大数加法.大数加法的基 ...
- HDU 1002 - A + B Problem II - [高精度]
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 Problem DescriptionI have a very simple problem ...
- HDU 1002 分类: ACM 2015-06-18 23:03 9人阅读 评论(0) 收藏
昨天做的那题其实和大整数相加类似.记得当初我大一寒假就卡在这1002题上,结果之后就再也没写题... 到今天终于把大整数相加写了一遍. 不过写的很繁琐,抽时间改进一下写简洁一点. #include&l ...
随机推荐
- android APK更新
菜鸟的博客请多多指教 最近做了一个新功能,更新APK的功能 1.更新APK是一个耗时的任务,我采用了一个服务来做,上次在网上看到服务是在主线程里面,自己也测试了下,数据是真的 所以下载动作还必须在服务 ...
- Struts1.x 中的 Validate 框架
转载于http://www.blogjava.net/nokiaguy/archive/2009/02/12/254421.html 一.Validator框架的优势 Validator框 ...
- 【LeetCode】#1 Two Sum
[Question] Given an array of integers, return indices of the two numbers such that they add up to a ...
- Linux下怎么删除非空目录
rm -rf 目录名 解释: 1.r意思是删除目录,f意思是force的缩写,强制删除,不提示. 2.如果目录为空,可以用 "rmdir 目录名"删除. 3.如果目录不为空,可以用 ...
- python+selenium安装步骤
1.先安装python 2.下载setuptools 使用方法是在 命令提示符(cmd)下 输入 "easy_install包名称" 3.安装pip 4.安装selenium如果是 ...
- Java注释@interface的用法【转】
Java用 @interface Annotation{ } 定义一个注解 @Annotation,一个注解是一个类.@Override,@Deprecated,@SuppressWarnings为 ...
- 为 iTween 指定特定的回调 : onupdate, oncomplete
问题地址:Specifying a delegate for the value of onupdate in iTween 1.找到 void CallBack 2.修改以下代码: void Cal ...
- .NET中的yield关键字
浅谈yield http://www.cnblogs.com/qlb5626267/archive/2009/05/08/1452517.html .NET中yield关键字的用法 http://bl ...
- 将已有项目提交到github/从github上pull到本地
去自己的工作分支$ git checkout work 工作.... 提交工作分支的修改$ git commit -a 回到主分支$ git checkout master 获取远程最新的修改,此时不 ...
- IOS Core Animation Advanced Techniques的学习笔记(一)
转载. Book Description Publication Date: August 12, 2013 Core Animation is the technology underlying A ...