话说,经过了漫长的一个多月,小明已经成长了许多,所以他改了一个名字叫“大明”。
这时他已经不是那个只会做100以内加法的那个“小明”了,现在他甚至会任意长度的正小数的加法。
现在,给你两个正的小数A和B,你的任务是代表大明计算出A+B的值。
Input
本题目包含多组测试数据,请处理到文件结束。
每一组测试数据在一行里面包含两个长度不大于400的正小数A和B。
Output
请在一行里面输出输出A+B的值,请输出最简形式。详细要求请见Sample Output。
Sample Input
1.1 2.9 1.1111111111 2.3444323343 1 1.1
Sample Output
4 3.4555434454 2.1
整体思路:
将小数转化为整数,缺的地方用0补齐,最后再将末尾多余的0删去。
转化的时候要注意小数点位置,最后也要考虑要不要加小数点。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int l1,l2;
int i1,i2;
int w1;
int w2;
char * cf(char *a1,char *a2){
int l1;
for(l1=0;;l1++){
if(a1[l1]>'9'||a1[l1]<'0'){
l1++;
break;
}
}
int l2;
for(l2=0;;l2++){
if(a2[l2]>'9'||a2[l2]<'0'){
break;
}
}
//cout<<l1<<" "<<l2<<endl;
// for(int i=0;i<l2;i++){
// cout<<a2[i];
// }
// cout<<endl;
//printf("%s\n",a2);
int w;
if(l1>=l2){
w=l2;
}
else{
char *b;
b=a2;
a2=a1;
a1=b;
w