游客 Signup | Login
中文 | En

1585 - 复数

编写一个复数类,有构造函数,能对复数初始化重载加法操作符并按a+bi 的形式输出。

Input

输入第一行表示测试用例的个数m,接下来m行每行有4个用空格隔开的整数,分别表示2个复数的实部和虚部。

Output

输出m行。按a+bi或者a-bi格式输出,表示两个复数相加的和。

Examples

Input

1
3 4 1 -2

Output

4+2i

Hint

注意虚部为负数时的输出。

Solution C

#include<stdio.h>
int main()
{
	int n,i=0,a,ai,b,bi,c,ci;
	scanf("%d",&n);
	while(i<n)
	{
       scanf("%d%d%d%d",&a,&ai,&b,&bi);
        c=a+b;
		ci=ai+bi;
		printf("%d",c);
		if(ci==0)
			printf("\n");
		else if(ci>0)
			printf("+%di\n",ci);
		else
			printf("%di\n",ci);
		i++;

	}
	return 0;
}

Solution C++

#include <cstdio>

int main() {
    //freopen("test.in", "r", stdin);
    //freopen("test.out", "w", stdout);
    int t;
    scanf("%d", &t);
    while (t--) {
        int a1, b1, a2, b2;
        scanf("%d %d %d %d", &a1, &b1, &a2, &b2);
        int a = a1 + a2;
        int b = b1 + b2;
        if (b >= 0)
            printf("%d+%di\n", a, b);
        else
            printf("%d%di\n", a, b);
    }
    return 0;
}

Hint

注意虚部为负数时的输出。

Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题