HDU 1002 A + B Problem II(AC代码)
#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代码)的更多相关文章
- 抓起根本(二)(hdu 4554 叛逆的小明 hdu 1002 A + B Problem II,数字的转化(反转),大数的加法......)
数字的反转: 就是将数字倒着存下来而已.(*^__^*) 嘻嘻…… 大致思路:将数字一位一位取出来,存在一个数组里面,然后再将其变成数字,输出. 详见代码. while (a) //将每位数字取出来, ...
- 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 Problem DescriptionI have a very simple problem ...
- 大数加法~HDU 1002 A + B Problem II
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 题意: 数学题,A+B; 思路,这个数非常大,普通加法一定会超时,所以用大数加法.大数加法的基 ...
- HDU 1002 A + B Problem II(大整数相加)
A + B Problem II Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u De ...
- HDU 1002 A + B Problem II
A + B Problem II Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 16104 Accepted ...
- hdu 1002.A + B Problem II 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 题目意思:就是大整数加法. 两年几前做的,纯粹是整理下来的. #include <stdi ...
- HDU 1002 A + B Problem II (大数加法)
题目链接 Problem Description I have a very simple problem for you. Given two integers A and B, your job ...
- hdu 1002 A + B Problem II(大数)
题意:就是求a+b (a,b都不超过1000位) 思路:用数组存储 第一道大数的题目,虽然很水,纪念一下! 代码: #include<cstdio> #include<cstring ...
随机推荐
- lucene索引文件格式
转自:http://blog.csdn.net/whuqin 本文介绍下lucene生成的索引有哪些文件组成,每个文件包含了什么信息.基于Lucene 4.10.0. 数据结构 索引(index)包含 ...
- Eclipse 反编译器
Help-->Install New SoftWare 贴上反编译地址:http://opensource.cpupk.com/decompiler/update/ 选择add,一路向北,起飞.
- MapReduce 重要组件——Recordreader组件 [转]
(1)以怎样的方式从分片中读取一条记录,每读取一条记录都会调用RecordReader类: (2)系统默认的RecordReader是LineRecordReader,如TextInputFormat ...
- Mysqldump参数大全
Mysqldump参数大全(参数来源于mysql5.5.19源码) 参数 参数说明 --all-databases , -A 导出全部数据库. mysqldump -uroot -p --al ...
- 创建单例的DbContext
/// <summary> /// 说明: /// 创建日期:2016/9/30 14:49:48 /// 创建人:曹永承 /// </summary> public clas ...
- 4通用Makefile编写
a.c #include<stdio.h> #include "a.h" int main() { printf("hello world\n"); ...
- js弹出窗口的学习和使用
Thickbox Thickbox是基于Jquery的,因此使用Thickbox需要下面四个文件: Thickbox.js----Thickbox主文件 CSS文件----Thickbox.css 最 ...
- [vijos P1531] 食物链
做出的第一道NOI题目?(噗,还是看题解才会的…按某篇解题说的,这题就比我年轻四岁…T T 做的第一道IOI题目是USACO上的Packing Rectangles...这题比我还老!)对我等弱渣来说 ...
- English idioms
a hot potato : speak of an issue(mostly current) which many people are talking about and which is us ...
- php的字符串处理
字符串处理: strlen("aaa");取字符串的长度 *** strcmp("aaa","aaa");比较两个字符串,相同的话输出0,不 ...