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. 直接使用FileSystem以标准输出格式显示hadoop文件系统中的文件

    package com.yoyosys.cebbank.bdap.service.mr; import java.io.IOException; import java.io.InputStream; ...

  2. jquery插件开发基本步骤

    一.介绍 插件编写的目的是给已经有的一系列方法或函数做一个封装,以便在其他地方重复使用,方便后期维护. JQuery除了提供一个简单.有效的方式进行管理元素以及脚本,它还还提供了例外一种机制:即给核心 ...

  3. memcache缓存系统

    一.缓存系统 静态web页面: 1.在静态Web程序中,客户端使用Web浏览器(IE.FireFox等)经过网络(Network)连接到服务器上,使用HTTP协议发起一个请求(Request),告诉服 ...

  4. RHEL6.5安装成功ORACLE11GR2之后,编写PROC程序出错解决方法

    1.  proc: error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: N ...

  5. CSS怎样改变行内样式(通过外部级联样式表) css !important用法CSS样式使用优先级判断

    CSS样式优先级 行内>内部>外部 使用!important的css定义是拥有最高的优先级的.只是在ie6下出了一点小的bug,注意书写方式一般可以轻松避开的. CSS中的!importa ...

  6. Android源码下载方法

    1. 下载 repo 工具 mkdir ~/bin PATH=~/bin:$PATH curl https://storage.googleapis.com/git-repo-downloads/re ...

  7. 什么是mycat?

    Mycat关键特性 关键特性 支持SQL92标准 支持MySQL.Oracle.DB2.SQL Server.PostgreSQL等DB的常见SQL语法 遵守Mysql原生协议,跨语言,跨平台,跨数据 ...

  8. 诡异之--map clear 之后可能导致size != 0的操作

    map<char, int>mp; charMp[; charMp['b'] ++; cout<<charMp['a']<<endl; cout<<ch ...

  9. jq-文本框只能输入数字

    <input type="text" onKeyUp="value=value.replace(/\D/g,'')"  /> onKeyUp: 当输 ...

  10. python--8、面向对象的深入知识

    面向对象的三大特性 上一篇我们讲的主要内容都符合面向对象的封装特性.那么问题来了?面向对象难道只有封装性么?当然不是,作为一个这么难理解的东西,要是只有封装性都对不起我们死了这么多脑细胞!所以,晴天霹 ...