《C语言及程序设计》实践参考——点结构体

    xiaoxiao2025-10-31  38

    返回:贺老师课程教学链接

    【项目3-点结构体】

    下面定义了一个表示平面上一点的结构体类型:

    struct Point { float x; //横坐标 float y; //纵坐标 };

    (1)请编写程序,输入一点的横纵坐标,输出该点到原点的距离 [参考解答]

    #include <stdio.h> #include <math.h> struct Point { float x; float y; }; int main() { struct Point p; float d; printf("请输入点的坐标: "); scanf("%f %f",&p.x, &p.y); d = sqrt(p.x*p.x+p.y*p.y); printf("该点到原点的距离是: %f", d); return 0; }

    (2)请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,以及p1关于x轴的对称点,p2关于原点的对称点,运行结果如下图所示: [参考解答]

    #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)