C语言判断三条直线的交点并升序输出交点
时间: 2023-06-07 16:08:33 浏览: 107
可以通过解三元一次方程组来求出三条直线的交点,然后将交点按照升序输出即可。下面是示例代码:
```c
#include <stdio.h>
int main() {
float x1, y1, z1, x2, y2, z2, x3, y3, z3;
printf("请输入三条直线的参数:\n");
scanf("%f%f%f%f%f%f%f%f%f", &x1, &y1, &z1, &x2, &y2, &z2, &x3, &y3, &z3);
float d = x1*y2*z3 + y1*z2*x3 + z1*x2*y3 - z1*y2*x3 - y1*x2*z3 - x1*z2*y3;
if (d == 0) {
printf("三条直线没有交点!\n");
return 0;
}
float x = (y1*z2 - z1*y2)*z3 + (z1*x2 - x1*z2)*y3 + (x1*y2 - y1*x2)*z3;
float y = (z1*x2 - x1*z2)*z3 + (x1*y2 - y1*x2)*z3 + (y1*z2 - z1*y2)*x3;
float z = (x1*y2 - y1*x2)*y3 + (y1*z2 - z1*y2)*x3 + (z1*x2 - x1*z2)*y3;
printf("三条直线的交点为:(%f, %f, %f)\n", x/d, y/d, z/d);
return 0;
}
```
阅读全文
相关推荐









