九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。 -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。 -毛泽东
#include<stdio.h>
float point[3][2];
void leap0();
void leap1();
void leap2();
void getdata();
void main()
{
int leap;
printf("输入点1的x,y坐标:(输入形式:x,y)\n");
scanf("%f%f",&point[0][0],&point[0][1]);
printf("输入点2的x,y坐标:(输入形式:x,y)\n");
scanf("%f%f",&point[1][0],&point[1][1]);
printf("直线方程为:");
if(point[0][0]==point[1][0] && point[0][1]!=point[1][1])
leap=1;
else if(point[0][1]==point[1][1] && point[0][0]!=point[1][0])
leap=2;
else if (point[0][0]!=point[1][0] && point[0][1]!=point[1][1]) leap=0;
switch(leap)
{
case 0: leap0(); break;
case 1: leap1(); break;
case 2: leap2(); break;
default: printf("输入错误\n");
}
}
void leap0()
{
float k,b,k1;
k=(point[1][1]-point[0][1])/(point[1][0]-point[0][0]);
b=((point[1][0]-point[0][0])*point[0][1]-(point[1][1]-point[0][1])*point[0][1])
/(point[1][0]-point[0][0]);
if(b>0)
printf("y=%.2fx+%.2f\n",k,b);
else printf("y=%.2f-%.2f\n",k,-b);
getdata();
k1=point[2][1]/point[2][0];
printf("==============================\n");
if(k1>k)
printf("点3在直线的右边\n");
else if(k1=k)
printf("点3在直线上\n");
else printf("点3在直线的左边\n");
}
void leap1()
{
printf("x=%.2f\n",point[0][0]);
getdata();
printf("==============================\n");
if(point[2][0]>point[0][0])
printf("点3在直线的上边\n");
else if(point[2][0]<point[0][0])
printf("点3在直线的下边\n");
else printf("点3在直线上\n");
}
void leap2()
{
printf("y=%.2f\n",point[0][1]);
getdata();
printf("===========================\n");
if(point[2][1]>point[0][1])
printf("点3在直线的右边\n");
else if(point[2][1]<point[0][1])
printf("点3在直线的左边\n");
else printf("点3在直线上\n");
}
void getdata()
{
printf("输入点3的x,y坐标:(输入形式:x,y)\n");
scanf("%f%f",&point[2][0],&point[2][1]);
}
写写练练
有点复杂