编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:
要求:(1)定义一个结构体类型来描述复数。
(2)复数之间的加法、减法、乘法和除法分别用不用的函数来实现。
(3)必须使用结构体指针的方法把函数的计算结果返回。
说明:用户输入:运算符号(+,-,*,/) a b c d.
输出:a+bi,输出时不管a,b是小于0或等于0都按该格式输出,输出时a,b都保留两位。
输入:
- 2.5 3.6 1.5 4.9
输出:
1.00+-1.30i
#include <iostream>
using namespace std;
struct Plural{
double plus;
double minus;
};
int main(int argc, char *argv[]) {
Plural a,b;
char c;
cin>>c;
cin>>a.plus>>a.minus>>b.plus>>b.minus;
if(c=='+'){
printf("%.2lf+%.2lfi",a.plus+b.plus,b.minus+a.minus);
}else if(c=='-'){
printf("%.2lf+%.2lfi",a.plus-b.plus,a.minus-b.minus);
}else if(c=='*'){
printf("%.2lf+%.2lfi",a.plus*b.plus-a.minus*b.minus,
a.plus*b.minus+a.minus*b.plus);
}else if(c=='/'){
printf("%.2lf+%.2lfi",(a.plus*b.plus+a.minus*b.minus)/(b.plus*b.plus+b.minus*b.minus),
(a.minus*b.plus-a.plus*b.minus)/(b.plus*b.plus+b.minus*b.minus));
}
return 0;
}