首页 > 编程 > .NET > 正文

asp.net(c#)复数类(复数加减乘除四则运算)

2020-01-18 01:40:21
字体:
来源:转载
供稿:网友
我的一个JAVA作业,把它改写成asp.net(c#)了
复制代码 代码如下:

protected void Page_Load(object sender, EventArgs e)
    {
        complex complex_a = new complex(1.0, 1.0);
        complex complex_b = new complex(2.0, 2.0);
        Response.Write("加法运算结果:" + complex_a.complex_add(complex_b).ToString() + "<br />");
        Response.Write("减法运算结果:" + complex_a.complex_minus(complex_b).ToString() + "<br />");
        Response.Write("乘法运算结果:" + complex_a.complex_multi(complex_b).ToString() + "<br />");
        Response.Write("除法运算结果:" + complex_a.complex_divide(complex_b).ToString());
    }
    //design by 阿会楠 来自:搜索吧 sosuo8.com
    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);
        }
    }


运行结果:

复制代码 代码如下:

加法运算结果:3+3i  
减法运算结果:-1+-1i  
乘法运算结果:0+4i  
除法运算结果:0.5+0i 
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表