博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#面向对象思想计算两点之间距离
阅读量:5309 次
发布时间:2019-06-14

本文共 2147 字,大约阅读时间需要 7 分钟。

题目为计算两点之间距离。

面向过程的思维方式,两点的横坐标之差,纵坐标之差,平方求和,再开跟,得到两点之间距离。

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();        }    }}

  

转载于:https://www.cnblogs.com/SeekHit/p/4322454.html

你可能感兴趣的文章
20145308 《网络对抗》 注入shellcode+Return-to-libc攻击 学习总结
查看>>
将多张图片和文字合成一张图片
查看>>
自己动手写ORM(01):解析表达式树生成Sql碎片
查看>>
如何使用USBWebserver在本机快速建立网站测试环境
查看>>
百度Ueditor编辑器的Html模式自动替换样式的解决方法
查看>>
变量提升
查看>>
线性表可用顺序表或链表存储的优缺点
查看>>
在现有的mysql主从基础上,搭建mycat实现数据的读写分离
查看>>
[Flex] flex手机项目如何限制横竖屏?只允许横屏?
查看>>
tensorflow的graph和session
查看>>
JavaScript动画打开半透明提示层
查看>>
Mybatis生成resulteMap时的注意事项
查看>>
jquery-jqzoom 插件 用例
查看>>
1007. Maximum Subsequence Sum (25)
查看>>
iframe的父子层跨域 用了百度的postMessage()方法
查看>>
图片生成缩略图
查看>>
动态规划 例子与复杂度
查看>>
查看oracle数据库的连接数以及用户
查看>>
【数据结构】栈结构操作示例
查看>>
中建项目环境迁移说明
查看>>