如何用C语言计算两点之间距离

 我来答
热爱学习的Genji
高粉答主

2020-11-07 · 说的都是干货,快来关注
知道小有建树答主
回答量:1894
采纳率:100%
帮助的人:30.7万
展开全部

用C语言计算两点之间距离的参考代码:

#include <stdio.h>

#include <stdlib.h>

#include "math.h"

typedef struct point {

    double x;

    double y;

}point;

point array[30001];

double distance(point a,point b);

int main(int argc, char *argv[]) 

{

    while(1){

    int n,i,j,count;

    double maxdis,temp;

    scanf("%d",&n);

    for(i = 0;i<n;i++){

        scanf("%f %f",&array[i].x,&array[i].y);      

    }

    for(i = 0;i<n;i++){

        //printf("%d %d\n",array[i].x,array[i].y);

        //printf("dis:%.2f\n",distance(array[0],array[i]));

    }

    maxdis = 0.0;

    for(i = 0;i<n;i++){

        for(j = i;j<n;j++){

            if(distance((array[i]),(array[j])) > maxdis ){

                //printf("maxdis = :%.2f\n",distance((array[i]),(array[j])));

                maxdis =distance((array[i]),(array[j]));

            }

        }

    }

    printf("%.2f",maxdis);

    

}

    system("pause");

    return 0;

}

//计算x y之间距离

double distance(point a,point b){

    return sqrt(    (a.x - b.x)*(a.x - b.x)  +   (a.y -b.y)*(a.y -b.y)  );

}

扩展资料:

C语言编写注意事项:

1、所有自定义变量 必须声明才能使用。

2、每行只书写一条语句, 在运算符两边加上一个空格, 便于阅读。

3、整数除法将自动舍位, 不会进行四舍五入的操作。

4、for(初始化部分;条件部分;增长部分) - 比while 更适用于初始化和增长步长都是单条语句情况下。

5、使用 #define 名字 替换文本 对部分"幻数" 赋予意义便于阅读 #define结尾不需要“;”号结束。

房子a房子a
2017-09-12 · TA获得超过2047个赞
知道小有建树答主
回答量:783
采纳率:85%
帮助的人:562万
展开全部
如果两点带有xy坐标的话,直接编写三角函数就可以解算这两点间的距离。在纸上画个图,算法一目了然
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
花纪青春
2017-09-12 · TA获得超过760个赞
知道小有建树答主
回答量:679
采纳率:93%
帮助的人:561万
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
float xa,ya,xb,yb,s;
scanf("%f%f%f%f",&xa,&ya,&xb,&yb);
s=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));
printf("%g",s);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式