第16周实践——点结构体

问题及代码:

(一)

/*Copyright(c)2016,烟台大学计算机学院 all rights reserved.
作者:曹欣宇
指导教师:贺利坚
完成日期:2016年12月16日
题目描述
  请编写程序,输入一点的横纵坐标,输出该点到原点的距离
输入
  两点坐标
输出
  该点到原点的距离
样例输入
  3.2 4.1
样例输出
  5.20
  */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    struct Point
    {
        float x;  //横坐标
        float y;  //纵坐标
    };
    struct Point l;
    float sl;
    printf("请输入一点坐标:");
    scanf("%f %f",&l.x,&l.y);
    printf("该点到原点的距离是:\n");
    sl=sqrt((l.x)*(l.x)+(l.y)*(l.y));
    printf("%.2f",sl);
    return 0;
}

运行结果:

(二)

/*Copyright(c)2016,烟台大学计算机学院 all rights reserved.
作者:曹欣宇
指导教师:贺利坚
完成日期:2016年12月16日
题目描述
  请编写程序,输入两点p1和p2的坐标,输出两点之间的距离,
  以及p1关于x轴的对称点,p2关于原点的对称点。
输入
  两点的坐标
输出
  两点的距离
  p1点关于x轴的对称点
  p2点关于原点的对称点
样例输入
  3.2 5.4
  -2.8 1.3
样例输出
  7.27
  3.2 -5.4
  2.8 -1.3
  */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
    struct Point
    {
        float x;  //横坐标
        float y;  //纵坐标
    };
    struct Point str[2];
    float sl,p1x,p2y,p2x;
    printf("请输入p1点坐标:");
    scanf("%f %f",&str[0].x,&str[0].y);
    printf("请输入p2点坐标:");
    scanf("%f %f",&str[1].x,&str[1].y);
     sl=sqrt((str[0].x-str[1].x)*(str[0].x-str[1].x)+(str[0].y-str[1].y)*(str[0].y-str[1].y));
     p1x=(-str[0].y);
     p2x=(-str[1].x);
     p2y=(-str[1].y);
     printf("两点间的距离是:%.2f\np1关于x轴对称的点为:(%.2f %.2f)\np2关于原点对称的点为:(%.2f %.2f)",sl,str[0].x,p1x,p2x,p2y);
    return 0;
}


运行结果:

知识点总结:

通过学习,巩固了结构体的用法。

学习心得:

题目相当简单,并没有什么套路.....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值