您的位置:首页 > 编程语言 > C#

C# 计算两个复数之和、差

2014-12-08 21:45 204 查看
问题与代码

// Copyright (c) 2014软件技术2班
// All rights rwserved.
// 作者:B10
// 完成日期:2014年11月23日
// 版本号:v1.0
//
//设计复数类Complex,计算两个复数之和、差,同时以 a+bi 的字符串形式显示。
//使用复数类Complex验证两个复数 1+2i 和3+4i 相加产生一个新的复数 4+6i ,相减产生一个新的复数 -2-2i.
class Program
{
static void Main(string[] args)
{
//创建对象
Complex num1 = new Complex(1, 2);
Complex num2 = new Complex(3, 4);

Complex addResult = Complex.Add(num1, num2);
Complex minusResult =Complex.Minus(num1, num2);
//调用Output()输出结果
Console.Write("两个复数相加结果为:");
Complex.Output(addResult.realPart, addResult.imaginaryPart);
Console.Write("两个复数相减结果为:");
Complex.Output(minusResult.realPart, minusResult.imaginaryPart);
Console.ReadKey();
}

}
class Complex
{
//定义类的字段成员
public double realPart;
public double imaginaryPart;

//定义方法成员Complex用于对字段成员赋值
public Complex(double a, double b)
{
realPart = a;
imaginaryPart = b;
}
//定义方法成员Add对复数实部和虚部相加
public static Complex Add(Complex num1, Complex num2)
{
double realPart = num1.realPart + num2.realPart;
double imaginaryPart = num1.imaginaryPart + num2.imaginaryPart;
return new Complex(realPart, imaginaryPart);
}
//定义方法成员Minus对复数实部和虚部相减
public static Complex Minus(Complex num1, Complex num2)
{
double realPart = num1.realPart - num2.realPart;
double imaginaryPart = num1.imaginaryPart - num2.imaginaryPart;
return new Complex(realPart, imaginaryPart);
}
//根据实部和虚部的值进行输出
public static void Output(double realPart, double imaginaryPart)
{
if (realPart == 0 && imaginaryPart != 0)
Console.WriteLine("{0}i", imaginaryPart);
else if (realPart != 0 && imaginaryPart == 0)
Console.WriteLine("{0}", realPart);
else if (realPart != 0 && imaginaryPart < 0)
Console.WriteLine("{0}-{1}i", realPart, Math.Abs(imaginaryPart));
else Console.WriteLine("{0}+{1}i", realPart, imaginaryPart);
}
}


输出



总结:

1.对类及方法的调用还很生疏,编写过程中频频出错,还要多加练习。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: