用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 19:41:55 浏览: 21
下面是用 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`。
相关问题
请用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
以下是使用C语言解决Bear_2小饼干形状判断问题的代码:
```c
#include <stdio.h>
#include <math.h>
int main()
{
int x1, y1, x2, y2, x3, y3, x4, y4;
double d1, d2, d3, d4;
scanf("%d %d %d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3, &x4, &y4);
d1 = sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2));
d2 = sqrt(pow(x2 - x3, 2) + pow(y2 - y3, 2));
d3 = sqrt(pow(x3 - x4, 2) + pow(y3 - y4, 2));
d4 = sqrt(pow(x4 - x1, 2) + pow(y4 - y1, 2));
if (d1 == d2 && d2 == d3 && d3 == d4) {
printf("ZFX\n");
} else {
printf("LX\n");
}
return 0;
}
```
其中,d1、d2、d3、d4分别表示输入的4条边的长度。如果这4条边的长度都相等,则输出"ZFX",否则输出"LX"。
用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
下面是用 C 语言编写的代码实现:
```c
#include <stdio.h>
int main()
{
int x[4], y[4];
for (int i = 0; i < 4; i++) {
scanf("%d%d", &x[i], &y[i]);
}
if ((x[0] == x[2] && y[0] == y[2] && x[1] == x[3] && y[1] == y[3]) ||
(x[0] == x[1] && y[0] == y[1] && x[2] == x[3] && y[2] == y[3]) ||
(x[0] == x[3] && y[0] == y[3] && x[1] == x[2] && y[1] == y[2])) {
printf("ZFX\n");
} else {
printf("LX\n");
}
return 0;
}
```
输入的四个点按顺时针顺序依次存储在 `x` 和 `y` 数组中,并且保证输入的四条边长相同。判断这个小饼干是否为菱形饼干,只需要判断它的对角线是否相等即可。如果是对角线相等,就是菱形饼干,输出 `LX`;否则就是正方形饼干,输出 `ZFX`。