设计复数库,实现基本的复数加减乘除运算。
输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按a+bi的格式在屏幕上打印结果。参加样例输入和样例输出。
注意考虑特殊情况,无法计算时输出字符串”error”。
样例输入
2 4 * -3 2
样例输出
-14-8i
样例输入
3 -2 + -1 3
样例输出
2+1i
算是比较全面了,先存着防止以后再去到处百度
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <queue>
#include <cstdio>
#include <set>
#include <math.h>
#include <algorithm>
#include <queue>
#include <iomanip>
#define INF 0x3f3f3f3f
#define MAXN 505
#define Mod 99999999
using namespace std;
void print(double a,double b)
{
cout<<a;
if(b>0)
printf("+");
cout<<b<<"i"<<endl;
}
int main()
{
double a,b,c,d,x,y;
char op;
cin>>a>>b>>op>>c>>d;
if(op=='+')
{
x=a+c;
y=b+d;
print(x,y);
}
else if(op=='-')
{
x=a-c;
y=b-d;
print(x,y);
}
else if(op=='*')
{
x=a*c-b*d;
y=a*d+b*c;
print(x,y);
}
else if(op=='/')
{
if(c==0&&d==0)
{
cout<<"error"<<endl;
return 0;
}
x=(a*c+b*d)/(c*c+d*d);
y=(b*c-a*d)/(c*c+d*d);
print(x,y);
}
else
printf("error\n");
return 0;
}