用C语言编写一个程序:定义一个点的坐标,然后定义两个点,求这两个点间的距离。

用C语言编写一个程序:定义一个点的坐标,然后定义两个点,求这两个点间的距离。,第1张

#include <stdio.h>

#include <math.h>

struct Point

{

    double x, y

}

/** Calculate the distance of two points. */

double distance(const struct Point *a, const struct Point *b)

{

    return sqrt((a->x-b->x)*(a->x-b->x)+(a->y-b->y)*(a->y-b->y))

}

int main()

{

    struct Point a, b

    printf("Please input the first point: ")

    scanf("%lf%lf", &a.x, &a.y)

    printf("Please input the second point: ")

    scanf("%lf%lf", &b.x, &b.y)

    printf("The distance of the two point is %f.\n", distance(&a, &b))

    return 0

}

说明:

1、distance() 函数的两个参数 const struct Point *a 和 b 使用了 const 修饰,是表示 a 和 b 在函数执行过程中不会被修改;这样即使函数体内部写错,修改了 a 和 b 的值,编译也不会通过。

2、对 double,scanf 用 %lf,printf 用 %f。

以上。

#include "Conio.h"

#include "graphics.h"

#define closegr closegraph

void initgr(void) /* BGI初始化 */

{

int gd = DETECT, gm = 0/* 和gd = VGA,gm = VGAHI是同样效果 */

registerbgidriver(EGAVGA_driver)/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */

initgraph(&gd, &gm, "")

}

void DrawCoord()

void Drawstg()

void Drawcurve()

int main(void)

{

initgr()/* BGI初始化 */

DrawCoord()

Drawstg()

Drawcurve()

getch()/* 暂停一下,看看前面绘图代码的运行结果 */

closegr()/* 恢复TEXT屏幕模式 */

return 0

}

void DrawCoord() /*画坐标系*/

{

line(50,40,50,400)/*y轴*/

line(50,400,600,400)/*x轴*/

line(50,40,45,50)/*箭头*/

line(50,40,55,50)

line(600,400,590,395)

line(600,400,590,405)

outtextxy(35,45,"y")

outtextxy(590,410,"x")

outtextxy(40,410,"O")

}

void Drawstg() /*画标尺*/

{

int x,y,i

x=50,y=400

for(i=0i<17i++)

{

line(x+5,y,x,y)

y-=20

}

x=50,y=400

for(i=0i<26i++)

{

line(x,y-5,x,y)

x+=20

}

}

void Drawcurve()/*画图示例*/

{

line(50,400,500,400-250)

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12060990.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存