我可是冒着被大神鄙视的风险发的贴啊,
学弟,哪个校区的哦,好吧,大神,鄙视我吧
上机练习时,尝试着自己写代码,调试,才会有提高
使用结构来表示平面上的点,问题:1.输入两个点的坐标,求两点间的距离:
2.输入三个点的坐标,判断三点是否共线。
#include <stdio.h>
#include <math.h>
#define DISTANCE(dot1,dot2)\
sqrt(pow(abs((dot1.x) - (dot2.x)),2) + pow(abs((dot1.y) - (dot2.y)),2))
#define ANG_DOT(dot) ((dot.x)/(dot.y))
typedef struct
{
float x;
float y;
}s_dot;
int main()
{
float dis=0;
s_dot dot1 = {0},dot2 = {0},dot3 = {0};
begin:
printf("enter x1,y1 x2,y2\n");
scanf("%f",&dot1.x);
scanf("%f",&dot1.y);
scanf("%f",&dot2.x);
scanf("%f",&dot2.y);
dis = (float)DISTANCE(dot1,dot2);
printf("two dots distance is %f\n",dis);
printf("enter x1,y1 x2,y2 x3,y3\n");
scanf("%f",&dot1.x);
scanf("%f",&dot1.y);
scanf("%f",&dot2.x);
scanf("%f",&dot2.y);
scanf("%f",&dot3.x);
scanf("%f",&dot3.y);
if( (ANG_DOT(dot1) + ANG_DOT(dot2)) == (ANG_DOT(dot3)*2) )
{
printf("three dots line\n");
}
else
{
printf("not line\n");
}
goto begin;
}