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
注意虚部为负数时的输出。