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 ...
随机推荐
- 【Duke-Image】Week_4 Image restoration
Chapter 5 Image Restoration and Reconstruction 图像复原与重建 5.1 A Model of the Image Defradation/Restorat ...
- jquery实现可拖拽的div
由于项目中并未引入前端开发框架easyui.ext.没有现成的控件可以使用,今天时间算是充裕的时候,自己写了一个可以拖拽.放大缩小的例子.欢迎大家指正. 不啰嗦,上代码: 依赖的文件:jquery.j ...
- JavaScript高阶函数 map reduce filter sort
本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 高阶函数 一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数 1.高阶函数之map: ...
- archlinux 安装手记
Wiki常用软件 https://wiki.archlinux.org/index.php/Common_Applications -> 移动硬盘等的自动挂载 pacman -S gvfs-af ...
- activitygroup下的activity不回调onactivityresult的解决方法
就是activitygroup下的子activity启动第三方activity的时候需要通过getparent的startactivityforresult方法来启动.getparent其实就是这个a ...
- vue-todolist
look:先看效果: 在浏览器的地址输入localhost:8080时,页面展示的是coding和walking两个无序序列,接着在输入框输入任何字符再敲enter回车键时,列表中又增加了一列,但是只 ...
- 【思路】-jscode
jscode //1.0 思路 //VH.PutSet(TagFields.PageName, PageName.Index); ...
- Leetcode 详解(Valid Number)
Validate if a given string is numeric. Some examples:"0" => true" 0.1 " => ...
- django学习
1.进入目录→创建一个新的项目mysite 命令:E:\MyCode\PythonCode>django-admin startproject mysite 自动生成目录: 2.创建一个APP ...
- docker index服务概述
index顾名思义“索引”,index服务主要提供镜像索引以及用户认证的功能.当下载一个镜像的时候,首先会去index服务上 做认证,然后查找镜像所在的registry的地址并放回给docker客户端 ...