复数加减乘除:
声明一个复数类Complex,复数的实部 real 和虚部imag分别为该类的两个数据成员,再建立加减乘除的数据函数实现实部和实部相加,虚部和虚部相加,最后在主函数中实现功能
swap交换值:
建立一个swap1函数,在里面实现两数值交换的功能,引用a,b两个数值,进行交换,得出结果
引用解决二元方程的根:
建立一个aa函数,a,b,c,m为数据成员,m用来储存判断根的结果,用条件语句判断根的情况,最后在主函数中引用aa函数得出结果
具体实现代码:
复数加减乘除:
#include <iostream>
using namespace std;
class Complex
{
public:
Complex(){real=0;imag=0;}
~Complex() {};
Complex(double r,double i){real=r;imag=i;}
Complex operator+(Complex &c);
Complex operator-(Complex &c);
Complex operator*(Complex &c);
Complex operator/(Complex &c);
void destroyComplex(Complex &c){}
void getcomplex(double& a, double& b);
void display();
private:
double real;
double imag;
};
Complex Complex::operator-(Complex &c)
{
Complex last;
last.real=real-c.real;
last.imag=imag-c.imag;
return last;
}
Complex Complex::operator+(Complex &c)
{
Complex last;
last.real = real + c.real;
last.imag= imag + c.imag;
return last;
}
Complex Complex::operator*(Complex &c)
{
Complex last;
last.real=real*c.real;
last.imag=imag*c.imag;
return last;
}
Complex Complex::operator/(Complex &c)
{
Complex last;
last.real=real /c.real;
last.imag=imag/c.imag;
return last;
}
void Complex::display()
{
cout<<"("<<real<<","<<imag<<"i)"<<endl;
}
ostream& operator<<(ostream& os, Complex& s)
{
double real, imag;
s.getcomplex(real, imag);
os << real<< "+" << imag << "i";
return os;
}
void Complex::getcomplex(double& a, double& b)
{
a=real;
b=imag;
}
int main()
{
Complex x(1,3),y(5,6),m;
m=x+y;
m.display();
m=x-y;
m.display();
m=x*y;
m.display();
m=x/y;
m.display();
return 0;
}
swap交换值
#include <iostream>
using namespace std;
int main()
{
void swap1(int &,int &);
int a=6,b=2;
cout<<"a="<<a<<" "<<"b="<<b<<endl;
swap(a,b) ;
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}
void swap1(int &m,int &n)
{
int p;
p=n;
n=m;
m=p;
}
引用解决二元方程的根:
#include <iostream>
#include<cmath>
using namespace std;
void aa(double &i,double &j)
{
double a,b,c,m;
cout<<"please input a,b,c"<<endl;
cin>>a>>b>>c;
m=b*b-4*a*c;
if(m>0)
{
i=(sqrt(m)-b)/2*a;
j=-(sqrt(m)-b)/2*a;
cout<<"x1="<<i<<","<<"x2="<<j<<endl;
}
if(m==0)
{
i=j=(sqrt(m)-b)/2*a;
cout<<"x1=x2="<<i<<endl;
}
if(m<0)
{
cout<<"no one"<<endl;
}
}
int main()
{
double x1,x2;
aa(x1,x2);
return 0;
}