第十六周练习--点结构体

来源:互联网 发布:淘宝卖鞋正品的店铺 编辑:程序博客网 时间:2024/04/30 10:57

编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示:

我的代码:

/* Copyright (c) 2016,烟台大学计算机与控制工程学院  All Rights Reserved.   文件名称: 点结构体 作 者:胡寅生  完成日期:2016年12.15  版 本 号;v1.0 */  #include <stdio.h>#include <stdlib.h>#include <math.h>struct Point{    float x;    float y;};struct Point;int main(){   float l;//l是点p1到点p2的距离    struct Point p1,p2;    printf("请输入p1点的坐标:");    scanf("%f %f",&p1.x,&p1.y);    printf("请输入p2点的坐标:");    scanf("%f %f",&p2.x,&p2.y);    l=sqrt((p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y));    printf("两点之间的距离是:%.2f\n",l);    printf("p1关于x轴的对称点是:(%.1f %.1f)\n",p1.x,-p1.y);    printf("p2关于x轴的对称点是:(%.1f %.1f)",-p2.x,-p2.y);    return 0;}

运行结果:

心得:一定不要忘记取值符!!!!!


老贺的更精巧的代码:

#include <stdio.h>  #include <math.h>  struct Point  {      float x;      float y;  };  int main()  {      struct Point p1, p2;      float dx,dy,d;      printf("请输入p1点的坐标: ");      scanf("%f %f",&p1.x, &p1.y);      printf("请输入p2点的坐标: ");      scanf("%f %f",&p2.x, &p2.y);      dx=p1.x-p2.x;      dy=p1.y-p2.y;      d = sqrt(dx*dx+dy*dy);      printf("两点间的距离是: %.2f\n", d);      printf("p1关于x轴的对称点是(%.1f, %.1f)\n", p1.x, -p1.y);      printf("p2关于原点的对称点是(%.1f, %.1f)\n", -p2.x, -p2.y);      return 0;  }  




0 0
原创粉丝点击