C++判断两条直线位置关系

 1 #include <cstdio>
 2 #include <cstdlib>
 3 
 4 using namespace std;
 5 
 6 int main()
 7 {
 8     double k1,b1,k2,b2;//两条直线的解析式参数(y=k1*x+b1,y=k2*x+b2)
 9     double cross_x,cross_y;//交点的坐标
10    printf("请输入第1条直线的k值:");
11     scanf("%lf",&k1);
12     printf("请输入第1条直线的b值:");
13     scanf("%lf",&b1);
14        printf("请输入第2条直线的k值:");
15     scanf("%lf",&k2);
16     printf("请输入第2条直线的b值:");
17     scanf("%lf",&b2);
18     if(k1==k2)
19     {
20         if(b1!=b2)
21         {
22             printf("两条直线平行\n");
23             return 0;
24         }
25         else
26         {
27             printf("两条直线重合\n");
28         }
29     }
30     else
31     {
32         cross_x=(b2-b1)/(k1-k2);
33         cross_y=k1*cross_x+b1;
34         printf("两条直线相交,交点为x=%f,y=%f\n",cross_x,cross_y);
35 
36      }
37     return 0;
38 }
posted @ 2012-11-01 09:05  C4ISR  阅读(3477)  评论(0编辑  收藏  举报
C4ISR