用c语言写出代码能够精确的解决下面的问题 Bear_2 除了生产小熊饼干外,又新生产了菱形饼干和正方形饼干。但是一号车间质检员张*蛋是个憨憨,他只会判断他们的边长来确定形状,众所周知这是不行的。为了让自己不失业她求助于你,请你帮忙判断一下它是哪块小饼干? 输入格式: 按顺时针输入。 输入包括 4 行,第 i 行给出两个整数 X i ,Y i (−100<=X i ,Y i <=100) 保证输入的四条边长相同 输出格式: 如果它是一个菱形饼干请输出"LX",否则请输出"ZFX",不带引号。 输入样例: 0 0 0 1 1 1 1 0 输出样例: ZFX
时间: 2024-03-18 17:41:55 浏览: 124
下面是用 C 语言编写的代码实现:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double x[4], y[4];
for (int i = 0; i < 4; i++) {
scanf("%lf%lf", &x[i], &y[i]);
}
double d1 = sqrt(pow(x[0] - x[2], 2) + pow(y[0] - y[2], 2));
double d2 = sqrt(pow(x[1] - x[3], 2) + pow(y[1] - y[3], 2));
if (fabs(d1 - d2) < 1e-6) {
printf("LX\n");
} else {
printf("ZFX\n");
}
return 0;
}
```
这个代码与之前的代码类似,不同之处在于对浮点数的处理更加精确,避免了因为浮点数精度问题带来的误差。读入输入的四个点的坐标,然后计算出这个小饼干的两条对角线的长度,分别存储在 `d1` 和 `d2` 变量中。如果这两条对角线的长度相等(误差在 $10^{-6}$ 以内),就是菱形饼干,输出 `LX`;否则就是正方形饼干,输出 `ZFX`。
阅读全文