#include <stdio.h>
#include <math.h>
typedef struct {
double x;
double y;
} Point;
Point scan_point(void)
{
Point p;
scanf("%lf %lf", &p.
x, &p.
y);
return p;
}
double area_of(Point p1, Point p2)
{
double width
= fabs(p2.
x - p1.
x); double height
= fabs(p1.
y - p2.
y);
return width * height;
}
double circumference_of(Point p1, Point p2)
{
double width
= fabs(p2.
x - p1.
x); double height
= fabs(p1.
y - p2.
y);
return 2.0 * (width + height);
}
int main(void)
{
Point p1, p2;
printf("左上隅と右下隅の座標を入力してください。\n");
p1 = scan_point();
p2 = scan_point();
printf("座標1(%.2f, %.2f)\n", p1.
x, p1.
y); printf("座標2(%.2f, %.2f)\n", p2.
x, p2.
y); printf("面積: %.2f\n", area_of
(p1
, p2
)); circumference_of(p1, p2));
return 0;
}
CgojaW5jbHVkZSA8c3RkaW8uaD4KI2luY2x1ZGUgPG1hdGguaD4KCnR5cGVkZWYgc3RydWN0IHsKICAgIGRvdWJsZSB4OwogICAgZG91YmxlIHk7Cn0gUG9pbnQ7CgpQb2ludCBzY2FuX3BvaW50KHZvaWQpCnsKICAgIFBvaW50IHA7CgogICAgc2NhbmYoIiVsZiAlbGYiLCAmcC54LCAmcC55KTsKCiAgICByZXR1cm4gcDsKfQoKZG91YmxlIGFyZWFfb2YoUG9pbnQgcDEsIFBvaW50IHAyKQp7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAxLnkgLSBwMi55KTsKCiAgICByZXR1cm4gd2lkdGggKiBoZWlnaHQ7Cn0KCmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMikKewogICAgZG91YmxlIHdpZHRoID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMS55IC0gcDIueSk7CgogICAgcmV0dXJuIDIuMCAqICh3aWR0aCArIGhlaWdodCk7Cn0KCmludCBtYWluKHZvaWQpCnsKICAgIFBvaW50IHAxLCBwMjsKCiAgICBwcmludGYoIuW3puS4iumaheOBqOWPs+S4i+maheOBruW6p+aomeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIik7CgogICAgcHJpbnRmKCLluqfmqJkxKHggeSk6ICIpOwogICAgcDEgPSBzY2FuX3BvaW50KCk7CgogICAgcHJpbnRmKCLluqfmqJkyKHggeSk6ICIpOwogICAgcDIgPSBzY2FuX3BvaW50KCk7CgogICAgcHJpbnRmKCLluqfmqJkxKCUuMmYsICUuMmYpXG4iLCBwMS54LCBwMS55KTsKICAgIHByaW50Zigi5bqn5qiZMiglLjJmLCAlLjJmKVxuIiwgcDIueCwgcDIueSk7CiAgICBwcmludGYoIumdouepjTogJS4yZlxuIiwgYXJlYV9vZihwMSwgcDIpKTsKICAgIHByaW50Zigi5ZGo5Zuy44Gu6ZW344GVOiAlLjJmXG4iLAogICAgICAgICAgIGNpcmN1bWZlcmVuY2Vfb2YocDEsIHAyKSk7CgogICAgcmV0dXJuIDA7Cn0KCg==