蓝桥杯算法提高——6-17复数四则运算

来源:互联网 发布:外微分 知乎 编辑:程序博客网 时间:2024/04/27 14:44

  设计复数库,实现基本的复数加减乘除运算。
  输入时只需分别键入实部和虚部,以空格分割,两个复数之间用运算符分隔;输出时按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 99999999using 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;}
0 0
原创粉丝点击