當前位置:首頁 » 編程語言 » 如何在c語言中如何判斷坐標
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何在c語言中如何判斷坐標

發布時間: 2022-08-09 03:52:26

『壹』 如何用c語言判斷四邊形四個點的位置

以不規則四邊形為例,我說下思路吧~ 坐標系 x右為大.y上為大

  1. 定義2個數組a[4] = {x1,...}; b[4] = {y1...};

  2. 各對數組a和b內的元素進行排序,得到2個大小關系的式子.

  3. 將 x1 和 y1 的名次相加,後面也是如此,對這4個值進行排序, 最小的為左下角的坐標

  4. 其餘3個點,x的值最小為左上角的坐標

  5. 剩餘2個點的y值,小的為右下角的坐標,大的為右上角的坐標

『貳』 C語言編『寫用二維數組判斷五個坐標是否在同一直線上』

#include<stdio.h>
intmain()
{
floatpoint[5][2]={{2,3},{3,4},{5,5},{6,5},{8,5}};
floatk;
k=(point[0][1]-point[1][1])/(point[0][0]-point[1][0]);
for(i=2;i<5;i++)
{
ki=(point[0][1]-point[i][1])/(point[0][0]-point[i][0]);
if(ki!==k)
{
printf("這5個點不在同一直線上 ");
break;
}
}
if(i>=5)printf("這5個點在同一直線上 ");
return0;
}

解題思路:求兩點(a和b)連線的斜率為(ya-yb)/(xa-xb),因此先用前兩個點計算一個斜率k,然後分別計算第1個點和剩下3個點的連線斜率ki,如果ki==k,表示它們在同一條直線上,否則就不在同一條直線上

『叄』 用C語言編『寫用二維數組判斷五個坐標是否在同一直線上』

#include<stdio.h>
intmain()
{
floatpoint[5][2]={{0,0},{3,3},{5,5},{6,6},{8,8}};
floatk;
inti;
floatki;
k=(point[0][1]-point[1][1])/(point[0][0]-point[1][0]);
for(i=2;i<5;i++)
{
ki=(point[0][1]-point[i][1])/(point[0][0]-point[i][0]);
if(ki!=k)
{
printf("這5個點不在同一直線上 ");
break;
}
}
if(i>=5)printf("這5個點在同一直線上 ");
return0;
}

我是雷鋒!!!!!

『肆』 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個坐標值: ");

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("能構成矩形 ");

}else{

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

}

return 0;

}

運行結果:

『伍』 C語言 判斷點在第幾象限

#include <stdio.h>
int main()
{ int x,y;
scanf("%d%d",&x,&y); //輸入(x,y)點
if(x>0&&y>0) printf("第一象限");
if(x>0&&y<0) printf("第四象限");
if(x<0&&y>0) printf("第二象限");
if(x<0&&y<0) printf("第三象限");

}

『陸』 c語言,,,有一半徑為15的圓,圓心坐標為(0,0)從鍵盤任意輸入一個坐標(a,b)判斷這個坐標在

#include<stdio.h>
intmain(){
floatx=0,y=0,temp=0;
scanf("%f%f",&x,&y);
temp=x*x+y*y;

if(temp==15.0*15.0)
printf("點在圓上 ");
elseif(temp>15.0*15.0)
printf("點在圓外 ");
else
printf("點在圓內 ");
return0;
}

『柒』 用C語言說下如何快速在一個表中確認這些數字的坐標的思路

用2維數組,比如:a[9][7]; //9行7列
將表中的值作為它的元素,然後你進行比較,如果你輸入的數字(例如10)等於表中的某個數,就輸出它的下標i,j;比如10的下標應該為(4,1)

『捌』 C語言推箱子:如何記錄目的地坐標並判斷勝利

不用指針,那你就建個數組用來存,目的地坐標,如果目的地數目一樣的話,數組大小就確定了,每副圖目的地數目不一樣的話,那你就以最大個數為准。再用一個變數存目的地數目。
b[N][2]
這樣你在判斷目的在哪時,就不用m,n ,把坐標存入 b[k][0] b[k][1]中
後面 a[b[0][0]][b[0][1]]!='@'&&a[b[1][0]][b[1][1]]!='@'&&..這樣來判斷。
也可以在前面用個循環來判斷。

第二種方法,定義一個變數k 在你把 a[x][x]的'+'變為 '@'時 k++ a[x][x]的'@'變為 '+'時 k--
當k等於目的數時就結束。

『玖』 c語言中判斷坐標的題

#includeintmain(){intx,y;scanf("%d%d",&x,&y);//輸入(x,y)點if(x>0&&y>0)printf("第一象限");if(x>0&&y