 我可是冒着被大神鄙视的风险发的贴啊
我可是冒着被大神鄙视的风险发的贴啊,
学弟,哪个校区的哦,好吧,大神,鄙视我吧
上机练习时,尝试着自己写代码,调试,才会有提高
使用结构来表示平面上的点,问题: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;
}