您的位置:首页 > 其它

算法训练 P1103

2017-01-31 18:47 176 查看
编程实现两个复数的运算。设有两个复数 和 ,则他们的运算公式为:

  要求:(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>
#include<cstdio>
using namespace std;
struct node
{
double s;
double x;
};
node s1,s2;
void add()
{
printf("%.2f+%.2fi\n",s1.s+s2.s,s1.x+s2.x);
}
void sub()
{
printf("%.2f+%.2fi\n",s1.s-s2.s,s1.x-s2.x);
}
void mul()
{
printf("%.2f+%.2fi\n",s1.s*s2.s-s1.x*s2.x,s1.s*s2.x+s1.x*s2.s);
}
void div()
{
printf("%.2f+%.2fi\n",(s1.s*s2.s+s1.x*s2.x)/(s2.s*s2.s+s2.x*s2.x),(s1.x*s2.s-s1.s*s2.x)/(s2.s*s2.s+s2.x*s2.x));
}
int main()
{
char c;
cin>>c;
cin>>s1.s>>s1.x>>s2.s>>s2.x;
if(c=='+')
{
add();
}
else if(c=='-')
{
sub();
}
else if(c=='*')
{
mul();
}
else div();
return 0;
}
复数的除法忘记了。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: