题目
分析
给正方形对角两点坐标,求另两点坐标。应该是对0前面的正负号要求不高。
代码
#include <stdio.h>
int main(void)
{
double x1, x2, ax1, ax2;
double y1, y2, ay1, ay2;
double a, b;
while (scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2) != EOF) {
if (x1 == x2 && y1 == y2) {
printf("Impossible.\n");
continue;
}
/*
a + b = y1 - y2;
a - b = x2 - x1;
*/
a = ((y1-y2)+(x2-x1))/2;
b = ((y1-y2)-(x2-x1))/2;
ax1 = x2 - a;
ay1 = y2 + b;
ax2 = x2 + b;
ay2 = y2 + a;
printf("%.10lf %.10lf %.10lf %.10lf\n", ax1, ay1, ax2, ay2);
}
return 0;
}
本文详细介绍了如何通过简单的数学运算,快速求解给定正方形一对对角点坐标的情况下,另外两个对角点的坐标。算法简洁明了,易于实现,适用于各种编程环境。
510

被折叠的 条评论
为什么被折叠?



