时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:2725

解决:736

题目描述:

求2个浮点数相加的和

题目中输入输出中出现浮点数都有如下的形式:

P1P2...Pi.Q1Q2...Qj

对于整数部分,P1P2...Pi是一个非负整数

对于小数部分,Qj不等于0

输入:

对于每组案例,第1行是测试数据的组数n,每组测试数据占2行,分别是两个加数。

每组测试数据之间有一个空行,每行数据不超过100个字符

输出:

每组案例是n行,每组测试数据有一行输出是相应的和。

输出保证一定是一个小数部分不为0的浮点数

样例输入:
2
0.111111111111111111111111111111
0.111111111111111111111111111111 10000000.655555555555555555555555555555
1.444444444444444444444444444445
样例输出:
0.222222222222222222222222222222
10000002.1
来源:
2008年北京大学软件所计算机研究生机试真题

思路:

容易犯细节错误,此题我WA了好几次。

代码:

#include <stdio.h>
#include <string.h>
char s1[110], s2[110], s[110];
int Find(char a[], int n)
{
int i;
for (i = 0; a[i]; i++)
{
if (a[i] == '.')
{
return i;
}
}
return -1;
}
int main()
{
int ca;
scanf("%d", &ca);
while (ca--)
{
scanf("%s%s", s1, s2);
int n1 = strlen(s1);
int n2 = strlen(s2);
int pos1 = 0, pos2 = 0;
pos1 = Find(s1, n1);
pos2 = Find(s2, n2);
int i = n1, j = n2;
int d = (n1 - pos1) - (n2 - pos2);
if (d > 0)
{
for (; j < n2 + d; j++)
{
s2[j] = '0';
}
s2[j] = '\0';
n2 = j;
}
else if (d < 0)
{
for (; i < n1 - d; i++)
{
s1[i] = '0';
}
s1[i] = '\0';
n1 = i;
}
i--;
j--;
int t = 0, len = 0;
while (i >= 0 && j >= 0)
{
if(s1[i] == '.')
{
s[len] = '.';
}
else
{
t += s1[i] + s2[j] - 2 * '0';
s[len] = t % 10 + '0';
t /= 10;
}
len++;
i--;
j--;
}
while (i >= 0)
{
t += s1[i--] - '0';
s[len++] = t % 10 + '0';
t /= 10;
}
while (j >= 0)
{
t += s2[j--] - '0';
s[len++] = t % 10 + '0';
t /= 10;
}
if (t == 1)
{
s[len++] = '1';
}
j = 0;
while (s[j] == '0')
{
j++;
}
for (i = len - 1; i >= j; i--)
{
printf("%c", s[i]);
}
printf("\n");
}
return 0;
}
/**************************************************************
Problem: 1137
User: liangrx06
Language: C
Result: Accepted
Time:150 ms
Memory:912 kb
****************************************************************/

九度OJ 1137:浮点数加法 (大数运算)的更多相关文章

  1. [九度OJ]1137.浮点数加法

    原题链接:http://ac.jobdu.com/problem.php?pid=1137 题目描述: 求2个浮点数相加的和题目中输入输出中出现浮点数都有如下的形式:P1P2...Pi.Q1Q2... ...

  2. 【九度OJ】题目1137:浮点数加法 解题报告

    [九度OJ]题目1137:浮点数加法 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1137 题目描述: 求2个浮点数相加的 ...

  3. 【九度OJ】题目1083:特殊乘法 解题报告

    [九度OJ]题目1083:特殊乘法 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1083 题目描述: 写个算法,对2个小于 ...

  4. 【九度OJ】题目1435:迷瘴 解题报告

    [九度OJ]题目1435:迷瘴 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1435 题目描述: 通过悬崖的yifenfei,又面临 ...

  5. 【九度OJ】题目1069:查找学生信息 解题报告

    [九度OJ]题目1069:查找学生信息 解题报告 标签(空格分隔): 九度OJ [LeetCode] http://ac.jobdu.com/problem.php?pid=1069 题目描述: 输入 ...

  6. 【九度OJ】题目1047:素数判定 解题报告

    [九度OJ]题目1047:素数判定 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1047 题目描述: 给定一个数n,要求判 ...

  7. 【九度OJ】题目1138:进制转换 解题报告

    [九度OJ]题目1138:进制转换 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1138 题目描述: 将一个长度最多为30 ...

  8. 【九度OJ】题目1474:矩阵幂 解题报告

    [九度OJ]题目1474:矩阵幂 解题报告 标签(空格分隔): 九度OJ http://ac.jobdu.com/problem.php?pid=1474 题目描述: 给定一个n*n的矩阵,求该矩阵的 ...

  9. 九度oj 题目1087:约数的个数

    题目链接:http://ac.jobdu.com/problem.php?pid=1087 题目描述: 输入n个整数,依次输出每个数的约数的个数 输入: 输入的第一行为N,即数组的个数(N<=1 ...

随机推荐

  1. hdu 4932 BestCoder Round #4 1002

    这题真是丧心病狂,引来今天的hack狂潮~ Miaomiao's Geometry Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65 ...

  2. serializeObject 的应用

    function sendForm() { var invOrderModelWrapper = {}; // 头 var objHeader = $('#invOrderForm').seriali ...

  3. poj 3614(网络流)

    Sunscreen Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6672   Accepted: 2348 Descrip ...

  4. Codeforces 946 C.String Transformation

    C. String Transformation   time limit per test 1 second memory limit per test 256 megabytes input st ...

  5. 某考试 T1 Hello my friend

    Discription

  6. 谈谈 ServletConfig 和 ServletContext

    目录 一.ServletConfig 和 ServletContext 的概念 二.ServletConfig 和 SerlvetContext 代码表示 一.ServletConfig 和 Serv ...

  7. weblogic92 启动慢解决办法

      使用SUN JDK 启动时要很长时间,但启动启来weblogic正常. 特征见下面标红部分,时间很长. test01@linux-suse:~/bea/weblogic92/samples/dom ...

  8. 开源软件许可认证:open softwae license

    OSIA认证的开放源代码软件的软件许可证有如下21种: 1.The GNU General Public License (GPL) 2.The GNU Library or "Lesser ...

  9. Unity Shaders and Effects Cookbook (3-4) 使用高光贴图

    在学习完上一节之后.已经了解了在Unity 中怎样实现一个高光 Shader ,可是会有一个问题.就是效果看起来不切实际,如以下的问题 我用一张图片贴到了Cube上面.然后用了一个高光材质,得到了下图 ...

  10. django_session

    基于cookie做用户验证时:敏感信息不适合放在cookie中 session依赖cookie session原理 cookie是保存在用户浏览器端的键值对 session是保存在服务器端的键值对 s ...