2016西电校赛网络赛 Problem A z1+z2

Problem A z 1 + z 2

问题

已知两个复数 z 1 , z 2 ,万神希望知道 z 1 + z 2 。
因为被杜神坑过,万神非常讨厌浮点精度问题,所以他保证这两个复数的实
部和虚部都是 10 9 以内的非负整数。
输入格式
输入包含多组数据(不超过 100 组),请处理到文件结束。
每组数据只有 1 行,包含 z 1 , z 2 ,用空格分割。
保证 z 1 , z 2 的形式严格满足 a + bi,且 a, b 都是整数,0 ≤ a, b ≤ 10 9 。

输出格式

对于每组数据输出 1 行,包含 z 1 + z 2 。你的输出也应该严格满足 a + bi 的
形式,即使 a 或 b 为 0 也不例外。

输入样例

10+5i 2+3i
1+0i 2+0i
0+3i 0+4i
0+0i 0+0i

输出样例

12+8i
3+0i
0+7i
0+0i

没啥说的

/*************************************************************************
        > File Name: a.cpp
      > Author: dulun
      > Mail: dulun@xiyoulinux.org
      > Created Time: 2016年04月20日 星期三 11时51分16秒
 ************************************************************************/

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<string>
#include<cstdlib>
#include<algorithm>
#define LL long long
using namespace std;

const int N = 50086;

int main()
{
    string z1, z2;
    while(cin>>z1>>z2)
    {
        int a = 0, i;
        for(i = 0; z1[i] != '+'; i++)
        {
            int t = z1[i] - '0';
            a*=10;
            a+=t;
        }
        i++;
        int b = 0;
        for(int j = i; z1[j] != 'i'; j++)
        {
            int t = z1[j] - '0';
            b*=10;
            b+=t;
        }

        int c = 0;
        for(i = 0; z2[i] != '+'; i++)
        {
            int t = z2[i] - '0';
            c*=10;
            c+=t;
        }
        i++;
        int d = 0;
        for(int j = i; z2[j] != 'i'; j++)
        {
            int t = z2[j] - '0';
            d*=10;
            d+=t;
        }

        printf("%d+%di\n", a+c, b+d);

    }

    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值