c语言中用结构体表示点的坐标,并计算两点之间的距离

c语言中用结构体表示点的坐标,并计算两点之间的距离

1、

复制代码
#include <stdio.h>
#include <math.h>

#define sqr(x) ((x) * (x))

typedef struct{
    double x;
    double y;
}Point;

double dist(Point p1, Point p2)  //此处没有使用结构体对象的指针作为形参,是因为不需要对传入的结构体的成员进行修改 
{
    return sqrt(sqr(p1.x - p2.x) + sqr(p1.y - p2.y));
}

int main(void)
{
    Point a, b;
    printf("a - x:  "); scanf("%lf", &a.x);
    printf("a - y:  "); scanf("%lf", &a.y);
    printf("b - x:  "); scanf("%lf", &b.x);
    printf("b - y:  "); scanf("%lf", &b.y);
    
    printf("distance between a and b:  %.2f\n", dist(a, b));
    
    return 0;
}
复制代码

复制代码
#include <stdio.h>
#include <math.h>

#define sqr(x) ((x) * (x))

typedef struct{
    double x;
    double y;
}Point;

double dis(Point *p1, Point *p2)
{
    return sqrt(sqr((*p1).x - (*p2).x) + sqr((*p1).y - (*p2).y));    
} 

int main(void)
{
    Point a, b;
    
    printf("a - x:  "); scanf("%lf", &a.x);
    printf("a - y:  "); scanf("%lf", &a.y);
    printf("b - x:  "); scanf("%lf", &b.x);
    printf("b - y:  "); scanf("%lf", &b.y);
    
    printf("distanbe between a and b: %.2f\n", dis(&a, &b));
    
    return 0;
}
复制代码

 

 ↓

复制代码
#include <stdio.h>
#include <math.h>

#define sqr(x) ((x) * (x))

typedef struct{
    double x;
    double y;
}Point;

double dis(Point *p1, Point *p2)
{
    return sqrt(sqr(p1 -> x - p2 -> x) + sqr(p1 -> y - p2 -> y));    
} 

int main(void)
{
    Point a, b;
    
    printf("a - x:  "); scanf("%lf", &a.x);
    printf("a - y:  "); scanf("%lf", &a.y);
    printf("b - x:  "); scanf("%lf", &b.x);
    printf("b - y:  "); scanf("%lf", &b.y);
    
    printf("distanbe between a and b: %.2f\n", dis(&a, &b));
    
    return 0;
}
复制代码

 

posted @   小鲨鱼2018  阅读(1781)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示