问题描述 :
计算两个实数相加的结果。
输入的实数满足如下要求: (1) 小数点前的整数部分最多100位,(2) 小数点后的小数部分最多100位.
输入说明 :
两行字符串,每行都是一个合法的实数。合法的意思是指: 整数部分的值如果大于零,则最高位数字必定大于零. 如果整数部分的值为零,则整数部分只有一个零. 小数部分尾部可以有任意多的零. 可以没有小数部分, 此时也没有小数点. 如果有小数点, 则至少需要有一位小数部分, 且允许是零.
输出说明 :
相加结果。注意: 小数部分末尾如果有连续的0, 则它们都是有效数字, 不能舍去. 如果是两个整数相加, 则结果仍为整数而没有小数部分.
输入范例 :
999999999991.001
8.99999999999999999999999
输出范例 :
1000000000000.00099999999999999999999
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define max 1000
int main(){
int i,j,k,maxk,mink,v,sum,la,lb,rla,rlb;
char a[max],b[max],zi[max],zd[max],*ad,*bd,*tp;
gets(a);
gets(b);
//rla,rlb统计小数位数
if(strchr(a,'.')==NULL)
rla=0;
else{
ad=strchr(a,'.');
rla=strlen(ad)-</