编程实践6-4

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Point
{
    class Program
    {
        static void Main(string[] args)
        {
            int n;
            double x;
            double[,] pt;
            int i, j;
            double dblmax;
            int p1, p2;

            Console.Write("请输入点的个数:");
            n = Convert.ToInt32(Console.ReadLine());
            pt = new double[n, 2];
            for (i = 0; i < pt.GetLength(0); i++)
            {
                Console.Write("请输入第{0}点的横坐标:", i + 1);
                pt[i, 0] = Convert.ToDouble(Console.ReadLine());
                Console.Write("请输入第{0}点的纵坐标:", i + 1);
                pt[i, 1] = Convert.ToDouble(Console.ReadLine());
            }

            dblmax = 0;
            p1 = 0;
            p2 = 0;
            for (i = 0; i < pt.GetLength(0) - 1; i++)
            {
                for (j = i + 1; j < pt.GetLength(0); j++)
                {
                    x = bz(pt[i, 0], pt[j, 0], pt[i, 1], pt[j, 1]);
                    if ( x > dblmax)
                    {
                        dblmax = x;
                        p1 = i;
                        p2 = j;
                    }
                } 
            }

            Console.WriteLine("第{0}个点({1},{2})与第{3}个点({4},{5})之间的距离最大,为{6}", p1 + 1, pt[p1, 0], pt[p1, 1], p2 + 1, pt[p2, 0], pt[p2, 1], dblmax);
            Console.ReadKey();
        }
        public static double bz(double x1,double x2,double y1,double y2)
        {

            return Math.Sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
        }
    }
}

 

转载于:https://www.cnblogs.com/Wzqa/archive/2012/12/11/2812373.html

你可能感兴趣的:(编程实践6-4)