您的位置:首页 > 其它

九度OJ 1003:A+B

2015-10-14 22:10 309 查看
时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:15078

解决:6299

题目描述:
给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。

现在请计算A+B的结果,并以正常形式输出。

输入:
输入包含多组数据数据,每组数据占一行,由两个整数A和B组成(-10^9 < A,B < 10^9)。

输出:
请计算A+B的结果,并以正常形式输出,每组数据占一行。

样例输入:
-234,567,890 123,456,789
1,234 2,345,678


样例输出:
-111111101
2346912


来源:2010年浙江大学计算机及软件工程研究生机试真题

思路:

需要用字符串读取数据,同时要注意和的范围可能超出int表示范围,所以建议用字符串或long long表示。

代码:

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

int praseStr(char s[20])
{
int a = 0;
int i;
for (i=0; i<strlen(s); i++)
{
if(s[i] == '-' || s[i] == ',')
continue;
a = a*10 + s[i]-48;
}
if(s[0] == '-')
a = -a;
//printf("%d\n", a);
return a;
}

int main(void)
{
char sa[20], sb[20];
int a, b;

while (scanf("%s%s", sa, sb) != EOF)
{
a = praseStr(sa);
b = praseStr(sb);
printf("%d\n", a+b);
}

return 0;
}
/**************************************************************
Problem: 1003
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: