A+B Problem IV

时间限制:1000 ms  |           内存限制:65535 KB
难度:3
 
描述
acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。
 
输入
包含多组测试数据 每组数据包含两个正数A,B(可能为小数且位数不大于400)
输出
每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。
样例输入
1.9 0.1
0.1 0.9
1.23 2.1
3 4.0
样例输出
2
1
3.33
7
来源
hdu

#include <stdio.h> #include <string.h>

#define MAX 440

int an1[MAX],an2[MAX],an3[MAX],an4[MAX];

char str1[MAX],str2[MAX],s[2*MAX];

int main()

{

memset(s,0,sizeof(s));

while(gets(s))

{         int i,j,t=0;

int len1,len2,len;

memset(str1,0,sizeof(str1));

memset(str2,0,sizeof(str2));

memset(an1,0,sizeof(an1));

memset(an2,0,sizeof(an2));

memset(an3,0,sizeof(an3));

memset(an4,0,sizeof(an4));

len=strlen(s);

for(i=0,j=0;i<len;i++)

{

if(s[i]==' ')

break;

else

str1[j++]=s[i];

}

for(i+=1,j=0;i<len;i++)

{

str2[j++]=s[i];

}

len1=strlen(str1);

for(i=0;i<len1;i++)

{

if(str1[i]=='.')

{t=i;break;}

}

if(i==len1)

t=i;

for(i+=1,j=1;i<len1;i++)

{

an2[j++]=str1[i]-'0';

}

for(i=t-1,j=0;i>=0;i--)

{

an1[j++]=str1[i]-'0';

}

/*

for(i=0;i<10;i++)

{

printf("%d",an1[i]);

}

for(i=0;i<10;i++)

{

printf("%d",an2[i]);

}

*/

len2=strlen(str2);

t=0;

for(i=0;i<len2;i++)

{

if(str2[i]=='.')

{t=i;break;}

}

if(i==len2)

t=i;

for(i+=1,j=1;i<len2;i++)

{

an4[j++]=str2[i]-'0';

}

for(i=t-1,j=0;i>=0;i--)

{

an3[j++]=str2[i]-'0';

}

for(i=MAX-1;i>=0;i--)

{

an2[i]+=an4[i];

if(an2[i]>=10)

{

an2[i]-=10;

an2[i-1]++;

}

}

if(an2[0]>0)

an1[0]++;

for(i=0;i<MAX;i++)

{

an1[i]+=an3[i];

if(an1[i]>=10)

{

an1[i]-=10;

an1[i+1]++;

}

}

for(i=MAX-1;i>0&&an1[i]==0;i--);

for(;i>=0;i--)

printf("%d",an1[i]);

for(i=MAX-1;i>0&&an2[i]==0;i--);

if(i>0)

{t=i;

printf(".");

for(i=1;i<=t;i++)

printf("%d",an2[i]);

}

printf("\n");

}

return 0;

}

nyoj_513_A+B Problem IV_20130131532的更多相关文章

  1. 1199 Problem B: 大小关系

    求有限集传递闭包的 Floyd Warshall 算法(矩阵实现) 其实就三重循环.zzuoj 1199 题 链接 http://acm.zzu.edu.cn:8000/problem.php?id= ...

  2. No-args constructor for class X does not exist. Register an InstanceCreator with Gson for this type to fix this problem.

    Gson解析JSON字符串时出现了下面的错误: No-args constructor for class X does not exist. Register an InstanceCreator ...

  3. C - NP-Hard Problem(二分图判定-染色法)

    C - NP-Hard Problem Crawling in process... Crawling failed Time Limit:2000MS     Memory Limit:262144 ...

  4. Time Consume Problem

    I joined the NodeJS online Course three weeks ago, but now I'm late about 2 weeks. I pay the codesch ...

  5. Programming Contest Problem Types

        Programming Contest Problem Types Hal Burch conducted an analysis over spring break of 1999 and ...

  6. hdu1032 Train Problem II (卡特兰数)

    题意: 给你一个数n,表示有n辆火车,编号从1到n,入站,问你有多少种出站的可能.    (题于文末) 知识点: ps:百度百科的卡特兰数讲的不错,注意看其参考的博客. 卡特兰数(Catalan):前 ...

  7. BZOJ2301: [HAOI2011]Problem b[莫比乌斯反演 容斥原理]【学习笔记】

    2301: [HAOI2011]Problem b Time Limit: 50 Sec  Memory Limit: 256 MBSubmit: 4032  Solved: 1817[Submit] ...

  8. [LeetCode] Water and Jug Problem 水罐问题

    You are given two jugs with capacities x and y litres. There is an infinite amount of water supply a ...

  9. [LeetCode] The Skyline Problem 天际线问题

    A city's skyline is the outer contour of the silhouette formed by all the buildings in that city whe ...

随机推荐

  1. SQL Server 数据字典生成脚本

    SELECT sysobjects.name AS 表名称 ,--sysproperties.[value] AS 表说明 ,syscolumns.name AS 字段名称 ,--properties ...

  2. PCB genesis SET取中心点--算法实现

    最新ICS工厂有一项incam脚本新需求,这里介绍5种解决方法解决 需求如下图所示:绿色所圈处是是需求出的中心点(图形间距一致归为一类并计算中心点坐标) 前题条件:1.一个SET里面可能有多个CAM, ...

  3. Unity 图形学 基础知识总结

    1. 渲染流水线     三大块:应用阶段,几何阶段,光栅化阶段                       渲染图元   顶点信息    GPU流水线     顶点数据=>     顶点着色器 ...

  4. ACM_夏天到了,又到了出游的季节

    夏天到了,又到了出游的季节 Time Limit: 2000/1000ms (Java/Others) Problem Description: QWER最近无心打代码,于是带着n套衣服出去浪.但是每 ...

  5. 【LeetCode】467. Unique Substrings in Wraparound String

    Consider the string s to be the infinite wraparound string of "abcdefghijklmnopqrstuvwxyz" ...

  6. C++ Primer(第4版)-学习笔记-第2部分:容器和算法

    第9章 顺序容器 顺序容器和关联容器 顺序容器内的元素按其位置存储和访问. 关联容器,其元素按键(key)排序. 顺序容器(sequential container). 顺序容器的元素排列次序与元素值 ...

  7. js基础---object对象

    //**********************************复杂JSON举例**************************************** var Jsondata={d ...

  8. C#——工厂模式

    之前我们接介绍了简单工厂,这次我们介绍一种更为常用的模式——工厂模式. 工厂方法模式Factory Method,又称多态性工厂模式.在工厂方法模式中,核心的工厂类不再负责所有的产品的创建,而是将具体 ...

  9. 170925_1 Python socket 创建TCP的服务器端和客户端

    [Python版本]3.6 [遇到的问题] 客户端和服务器端都遇到:TypeError: a bytes-like object is required, not 'str' [解决方案] 参考:ht ...

  10. Forum/viewthread.php代码备份

    <!--{eval $lzthread = DB::fetch_all("SELECT `tid`,`subject` FROM ".DB::table('forum_thr ...