hdoj1753大明A+B
2015-07-28 14:11
260 查看
大明A+B
Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 10101 Accepted Submission(s): 3625
[align=left]Problem Description[/align]
话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。
[align=left]Input[/align]
本题目包含多组测试数据,请处理到文件结束。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。
[align=left]Output[/align]
请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。
[align=left]Sample Input[/align]
1.1 2.9
1.1111111111 2.3444323343
1 1.1
[align=left]Sample Output[/align]
4
3.4555434454
2.1因为100.0 100.0这组数据错了了五次
#include<cstdio> #include<cstdlib> #include<cstring> using namespace std; char a[1010]; char b[1010]; int c[1010]; int main() { int i,j,la,lb,dota,dotb; while(scanf("%s %s",a,b)!=EOF) { la=strlen(a); lb=strlen(b); dota=strchr(a,'.')-a; dotb=strchr(b,'.')-b; if(!strchr(a,'.'))dota=la; if(!strchr(b,'.'))dotb=lb; if(strchr(a,'.'))a[la]='0',la++; if(strchr(b,'.'))b[lb]='0',lb++; i=dota;j=dotb; memset(c,0,sizeof(c)); while(i<la||j<lb) { j++;i++; if(i>=la) { a[i]='0'; } if(j>=lb) { b[j]='0'; } } int q=0,n=0,dot=-1,flag=0;i--;j--; while(1) { c[n++]=(a[i]-'0'+b[j]-'0'+q)%10; q=(a[i]-'0'+b[j]-'0'+q)/10; i--;j--; if(c[n-1]!=0)flag=1; if(i==dota) { i--;j--;dot=n; } if(i<0&&j<0)break; if(i==-1) { i=0;a[0]='0'; } if(j==-1) { j=0;b[0]='0'; } } c[n++]+=q; if(c[n-1]!=0)flag=1; if(flag==0) { printf("0\n"); continue; } for(i=n-1;i>dot;--i) { if(c[i]!=0)break; } int m; for(m=0;m<n;++m) { if(m>=dot)break;//没写等于号错了几次 if(c[m]!=0)break; } for(j=i;j>=m;--j) { printf("%d",c[j]); if(j==dot&&j!=m)printf("."); } printf("\n"); } return 0; }
相关文章推荐
- 浅谈地方网站内容建设的难题
- 58.Length of Last Word (最后一个单词长度)
- 小韵游戏开发学习笔记——第二期:初识Unity3D
- ZooKeeper应用案例
- 《星途》项目使用相关工具(重要地址)
- Android APK 数据库升级简单例子
- 计算4!的值.java
- http、socket长连接和短连接
- MD5算法的C语言实现
- Mars老师的Android学习基本路线
- 使用IntelliJ IDEA 14和Maven创建java web项目
- button中title和image的相对位置
- Problem - 466C - Codeforces C. Number of Ways
- 最大熵模型
- java微信学习 接入
- Android 自定义ListView实现底部分页刷新与顶部下拉刷新,androidlistview
- 小韵游戏开发学习笔记——第一期:学习初衷
- VMware Vsphere高可用性(HA群集)
- codevs1064
- 基于maven的openjpa简单例子