//2016.3 复数 a+bi的形式,a为实部,b为虚部。从键盘输入两个复数,做加法或者乘法运算。
//并且输出结果。
//例如: 输入:4.2 2.5 2 -1.5 + 输出:6.2 1.0
//输入:2.5 3 -1 2.4 *
//输出:-9.7 3.0
//思路:第一种方法:做两个函数,定义复数的加法和乘法,一个判断函数,来判断进行哪种运算。
#include<iostream>
#include<stdio.h>
#include<iomanip> //精度控制头文件,manipulate控制,操纵的意思。
using namespace std;
void add(float a1,float a2,float b1,float b2)
{
cout<<setiosflags(ios::fixed)<<setprecision(2)<<a1+b1<<" "<<a2+b2<<endl;//setiosflags
//和fixed 一起用,意思是保留几位小数的意思。 当没有他们,而只有setprecision时,则是
//保留有效位数的意思。注意两者的不通。
//嫌麻烦的话,也可以直接用printf函数,简单输出。
printf("%.2f %.2f",a1+b1,a2+b2); //输出的效果跟上边一句是一样的。
}
void chengfa(float a1,float a2,float b1,float b2)
{
cout<<a1*b1-a2*b2<<" "<<a1*b2+a2*b1<<endl;
}
int main()
{
float a1,b1,a2,b2;
char c;
cin>>a1>>b1>>a2>>b2>>c;
if(c=='+') add(a1,b1,a2,b2);
if(c=='*') chengfa(a1,b1,a2,b2);
return 0;
}
注:此题还能以运算符的重载定义来进行求解。