C#中的复数问题(请教) C#中两个以上复数的加减乘除如何实现啊?请高手赐教! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void btn_Click(object sender, EventArgs e) { complex complex_a = new complex(1.0, 1.0); complex complex_b = new complex(2.0, 2.0); MessageBox.Show("加法运算结果:" + complex_a.complex_add(complex_b).ToString()); MessageBox.Show("减法运算结果:" + complex_a.complex_minus(complex_b).ToString() ); MessageBox.Show("乘法运算结果:" + complex_a.complex_multi(complex_b).ToString() ); MessageBox.Show("除法运算结果:" + complex_a.complex_divide(complex_b).ToString()); } public class complex { //复数中的实部 private double complex_real; //复数中的虚部 private double complex_imagin; //构造函数 public complex(double r, double i) { complex_real = r; complex_imagin = i; } //重写ToString()方法 public override string ToString() { return this.complex_real + "+" + this.complex_imagin + "i"; } //复数加法运算 public complex complex_add(complex c) { //取得加法运算后的实部 double complex_real = this.complex_real + c.complex_real; //取得加法运算后的虚部 double complex_imagin = this.complex_imagin + c.complex_imagin; //返回一个复数类 return new complex(complex_real,complex_imagin); } //复数减法运算 public complex complex_minus(complex c) { //取得减法运算后的实部 double complex_real = this.complex_real - c.complex_real; //取得减法运算后的虚部 double complex_imagin = this.complex_imagin - c.complex_imagin; //返回一个复数类 return new complex(complex_real, complex_imagin); } //乘法运算 public complex complex_multi(complex c) { //取得乘法运算后的实部 double complex_real = this.complex_real * c.complex_real - this.complex_imagin * c.complex_imagin; //取得乘法运算后的虚部 double complex_imagin = this.complex_real * c.complex_imagin + this.complex_imagin * c.complex_real; //返回一个复数类 return new complex(complex_real, complex_imagin); } //除法运算结果 (a+bi)/(c+di)=(a+bi)(c-di)/(c+di)(c-di) public complex complex_divide(complex c) { //取得(c+di)(c-di)的值 double d = c.complex_real * c.complex_real + c.complex_imagin * c.complex_imagin; //取得除法运算后的实部 double complex_real = (this.complex_real * c.complex_real + this.complex_imagin * c.complex_imagin) / d; //取得除法运算后的虚部 double complex_imagin = (this.complex_real * (-c.complex_imagin) + this.complex_imagin * c.complex_real) / d; //返回一个复数类 return new complex(complex_real, complex_imagin); } } C#设置默认工作路径求助! C#更新access数据库含有重复记录时 出错 新手C#三层架构中遇到的问题 如何动态按纽异步事件添加?? 谁用过Microsoft Visual Studio 2005? 请问如何在dataview中如果没有任何信息使label1.visible=true? VS.NET 2005 Zebra条形码打印机问题!!!!!!!! c#里面,怎么样给参数一个默认值? 资源文件 C# 连接Oracle的问题,高手来救命啊! 如何讓程式執行某段程式碼(udp- socket)
{
complex complex_a = new complex(1.0, 1.0);
complex complex_b = new complex(2.0, 2.0);
MessageBox.Show("加法运算结果:" + complex_a.complex_add(complex_b).ToString());
MessageBox.Show("减法运算结果:" + complex_a.complex_minus(complex_b).ToString() );
MessageBox.Show("乘法运算结果:" + complex_a.complex_multi(complex_b).ToString() );
MessageBox.Show("除法运算结果:" + complex_a.complex_divide(complex_b).ToString());
}
public class complex
{
//复数中的实部
private double complex_real;
//复数中的虚部
private double complex_imagin; //构造函数
public complex(double r, double i)
{
complex_real = r;
complex_imagin = i;
} //重写ToString()方法
public override string ToString()
{
return this.complex_real + "+" + this.complex_imagin + "i";
} //复数加法运算
public complex complex_add(complex c)
{
//取得加法运算后的实部
double complex_real = this.complex_real + c.complex_real; //取得加法运算后的虚部
double complex_imagin = this.complex_imagin + c.complex_imagin; //返回一个复数类
return new complex(complex_real,complex_imagin);
} //复数减法运算
public complex complex_minus(complex c)
{
//取得减法运算后的实部
double complex_real = this.complex_real - c.complex_real; //取得减法运算后的虚部
double complex_imagin = this.complex_imagin - c.complex_imagin; //返回一个复数类
return new complex(complex_real, complex_imagin);
} //乘法运算
public complex complex_multi(complex c)
{
//取得乘法运算后的实部
double complex_real = this.complex_real * c.complex_real - this.complex_imagin * c.complex_imagin; //取得乘法运算后的虚部
double complex_imagin = this.complex_real * c.complex_imagin + this.complex_imagin * c.complex_real; //返回一个复数类
return new complex(complex_real, complex_imagin);
} //除法运算结果 (a+bi)/(c+di)=(a+bi)(c-di)/(c+di)(c-di)
public complex complex_divide(complex c)
{
//取得(c+di)(c-di)的值
double d = c.complex_real * c.complex_real + c.complex_imagin * c.complex_imagin; //取得除法运算后的实部
double complex_real = (this.complex_real * c.complex_real + this.complex_imagin * c.complex_imagin) / d; //取得除法运算后的虚部
double complex_imagin = (this.complex_real * (-c.complex_imagin) + this.complex_imagin * c.complex_real) / d; //返回一个复数类
return new complex(complex_real, complex_imagin);
}
}