问题及代码:
(一)
/*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;
}
运行结果:
知识点总结:
通过学习,巩固了结构体的用法。
学习心得:
题目相当简单,并没有什么套路.....