博客
关于我
C语言 求出平面直角坐标系中两点的距离
阅读量:502 次
发布时间:2019-03-07

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

我最近在学习如何使用C语言来计算两点之间的欧氏距离。通过一些资料研究,我了解到可以通过使用预定义的平方和函数来简化计算过程,同时利用结构体来存储点的坐标,这样代码更加清晰和易于维护。

首先,我记得欧氏距离公式是这样计算的:d = sqrt((x2 - x1)^2 + (y2 - y1)^2)。为了更好地实现这个公式,我决定创建一个点的结构体,包含x和y坐标。这样,我就可以轻松地将点的坐标传递给距离计算函数。

接下来,我编写了一个名为distance_of的函数,接收两个点作为参数。函数内部,我使用预定义的sqr函数来计算每个坐标差的平方,再将它们相加求和。最后,利用math.h中的sqrt函数计算平方和的平方根,得到两点之间的距离。

为了便于用户输入和查看结果,我设计了一个主函数。在这个函数中,我读取当前点和目的点的坐标,并用sprintf函数格式化输出结果。这样,用户可以清楚地看到输入后的计算结果。

在实际编译和运行过程中,我非常仔细地检查了每一行代码,确保没有语法错误。例如,在输入目的位置坐标时,我发现自己之前写的是Y坐标,这是一个错误。修正后,程序才能正常运行。

最终,我将两个点的坐标代入程序,运行后发现计算结果与纸上计算的结果一致。这让我对自己编写的距离计算函数更加有信心。

通过这次练习,我不仅掌握了如何使用C语言进行结构化编程,还学会了如何更高效地处理用户输入和输出。这对于我今后的编程学习非常有帮助。

转载地址:http://oaccz.baihongyu.com/

你可能感兴趣的文章
No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
查看>>
No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
查看>>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
查看>>
No mapping found for HTTP request with URI [/...] in DispatcherServlet with name ...的解决方法
查看>>
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
Node JS: < 一> 初识Node JS
查看>>
Node-RED中使用JSON数据建立web网站
查看>>
Node-RED中使用json节点解析JSON数据
查看>>