using System; using System.Collections.Generic; using System.Text; namespace lession7 { class FenShu { public int fenzi; public int fenmu; public FenShu(int fenzi, int fenmu) { this.fenmu = fenmu; this.fenzi = fenzi; } public static FenShu operator +(FenShu a, FenShu b) { FenShu temp=new FenShu(0,0); temp.fenzi = a.fenzi * b.fenmu + a.fenmu * b.fenzi; temp.fenmu = a.fenmu * b.fenmu; HuaJian(temp); return temp; } public static FenShu operator -(FenShu a, FenShu b) { FenShu temp = new FenShu(0, 0); temp.fenzi = a.fenzi * b.fenmu - a.fenmu * b.fenzi; temp.fenmu = a.fenmu * b.fenmu; HuaJian(temp); return temp; } public static FenShu operator *(FenShu a, FenShu b) { FenShu temp = new FenShu(0, 0); temp.fenzi = a.fenzi * b.fenzi; temp.fenmu = a.fenmu * b.fenmu; HuaJian(temp); return temp; } public static FenShu operator /(FenShu a, FenShu b) { FenShu temp = new FenShu(0, 0); temp.fenzi = a.fenzi * b.fenmu; temp.fenmu = a.fenmu * b.fenzi; HuaJian(temp); return temp; } //分数化简 public static FenShu HuaJian(FenShu temp) { int m = temp.fenmu; int n = temp.fenzi; int k = m % n; while (k != 0) { m = n; n = k; k = m % n; } temp.fenzi /= n; temp.fenmu /= n; return temp; } } }
using System; using System.Collections.Generic; using System.Text; namespace lession7 { class Program { static void Main(string[] args) { FenShu f = new FenShu(2,4); FenShu f1 = new FenShu(2, 8); FenShu ff; ff = f + f1; Console.WriteLine("分数相加:{0}/{1}",ff.fenzi,ff.fenmu); ff = f - f1; Console.WriteLine("分数相减:{0}/{1}", ff.fenzi, ff.fenmu); ff = f * f1; Console.WriteLine("分数相乘:{0}/{1}", ff.fenzi, ff.fenmu); ff = f / f1; Console.WriteLine("分数相除:{0}/{1}", ff.fenzi, ff.fenmu); Console.ReadLine(); } } }