用c语言编写距离坐标原点最远的点 设平面上有n个点(0<=n<=100 ),每个点用一对坐标(x,y)表示,编写程序找出距离坐标原点(0,0)最远的点(可能不止一个)。
时间: 2024-05-16 07:13:30 浏览: 149
以下是使用C语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int n, i, index = 0;
double max_distance = 0;
scanf("%d", &n);
double x[n], y[n];
for(i = 0; i < n; i++)
{
scanf("%lf %lf", &x[i], &y[i]);
double distance = sqrt(x[i]*x[i] + y[i]*y[i]);
if(distance > max_distance)
{
max_distance = distance;
index = i;
}
}
printf("The farthest point is (%.2lf, %.2lf)\n", x[index], y[index]);
for(i = 0; i < n; i++)
{
if(i == index) continue;
double distance = sqrt(x[i]*x[i] + y[i]*y[i]);
if(distance == max_distance)
{
printf("Another farthest point is (%.2lf, %.2lf)\n", x[i], y[i]);
}
}
return 0;
}
```
代码思路:
1. 首先从标准输入中读入点的数量n,以及n个点的坐标(x,y)。
2. 对于每个点,计算它到原点的距离,并与之前找到的最远距离比较。
3. 如果当前点到原点的距离更远,则将最远距离更新为当前距离,并记录下当前点的下标。
4. 扫描一遍所有点,找到与最远距离相等的点,输出它们的坐标。
5. 如果最远距离只有一个点,则只输出一个点。
6. 输出结果后结束程序。
注意事项:
1. 由于涉及到浮点数运算,所以计算距离时要使用sqrt函数求平方根。
2. 在比较两个浮点数是否相等时,要注意精度问题。在本例中,我们只需要判断两个距离是否相等,因此可以直接使用“==”运算符进行比较。
3. 如果有多个点到原点的距离相等,则它们都是最远点。我们需要扫描一遍所有点,找到它们的下标,并输出它们的坐标。
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://img-home.csdnimg.cn/images/20250102104920.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)