標籤:
題目為計算兩點之間距離。
面向過程的思維方式,兩點的橫座標之差,縱座標之差,平方求和,再開跟,得到兩點之間距離。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Classes_2_point_distance{ class Program { static void Main(string[] args) { int x1 = -1; int y1 = -1; int x2 = int.Parse(Console.ReadLine()); int y2 = int.Parse(Console.ReadLine()); int xdiff = x2 - x1; int ydiff = y2 - y1; double distance = Math.Sqrt(xdiff * xdiff + ydiff * ydiff); Console.WriteLine(distance); Console.ReadKey(); } }}
物件導向的思路,題目中,兩點間直線距離,名詞包括點、直線、距離,首先我們構造一個點類。
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Classes_2_point_distance{ class Point { private int x; private int y; public Point() { x = -1; y = -1; } public Point(int h, int z) { x = h; y = z; } public double Distance(Point p) { int xdiff = x - p.x; int ydiff = y - p.y; return Math.Sqrt(xdiff * xdiff + ydiff * ydiff); } }}
然後再Programe.cs中執行個體化p1,p2兩個點,計算距離
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace Classes_2_point_distance{ class Program { static void Main(string[] args) { //int x1 = -1; //int y1 = -1; int x2 = int.Parse(Console.ReadLine()); int y2 = int.Parse(Console.ReadLine()); //int xdiff = x2 - x1; //int ydiff = y2 - y1; //double distance = Math.Sqrt(xdiff * xdiff + ydiff * ydiff); //Console.WriteLine(distance); //Console.ReadKey(); Point p1 = new Point(); Point p2 = new Point(x2, y2); double distance = p1.Distance(p2); Console.WriteLine(distance); Console.ReadKey(); } }}
C#物件導向思想計算兩點之間距離