當前位置:編程學習大全網 - 源碼下載 - C語言怎麽判斷4個坐標坐標是否構成矩形?

C語言怎麽判斷4個坐標坐標是否構成矩形?

代碼:

#include <stdio.h>

typedef struct {

double x;

double y;

}point;

int is_rectangle(point a,point b,point c,point d){

int ab_y = a.y - b.y;

int ab_x = a.x - b.x;

int cd_y = c.y - d.y;

int cd_x = c.x - d.x;

// 首先判斷ab是否平行於cd

if (ab_x == 0 || cd_x == 0){

if(ab_x != cd_x){

return 0;

}

}else{

if(ab_y/ab_x != cd_y/cd_x){

return 0;

}

}

// 再判斷ab是否等於cd

if(ab_y*ab_y + ab_x*ab_x != cd_y*cd_y + cd_x*cd_x){

return 0;

}

// 然後判斷ab是否垂直於ac

int ac_y = a.y - c.y;

int ac_x = a.x - c.x;

if(ab_x == 0 ){

if(ac_y != 0)

return 0;

}else if(ac_x == 0){

if(ab_y != 0)

return 0;

}else if((ac_y/ac_x)*(ab_y/ab_x) != -1){

return 0;

}

return 1;

}

int main(){

printf("輸入4個坐標值:\n");

point a,b,c,d;

scanf("%lf %lf",&a.x,&a.y);

scanf("%lf %lf",&b.x,&b.y);

scanf("%lf %lf",&c.x,&c.y);

scanf("%lf %lf",&d.x,&d.y);

if(is_rectangle(a,b,c,d)){

printf("能構成矩形\n");

}else{

printf("無法構成矩形\n");

}

return 0;

}

運行結果:

?

  • 上一篇:如何更改滾動字幕的字體顏色和字體大小?
  • 下一篇:微信微預約在微信公眾平臺怎麽實現
  • copyright 2024編程學習大全網