#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) {
return fabs(p2.
x - p1.
x) * fabs(p2.
y - p1.
y); }
double circumference_of(Point p1, Point p2) {
return 2 * (fabs(p2.
x - p1.
x) + fabs(p2.
y - p1.
y)); }
int main(void) {
Point p1, p2;
printf("左上の座標を入力してください(例: 1 1): "); p1 = scan_point();
printf("右下の座標を入力してください(例: 4 5): "); p2 = scan_point();
printf("面積\t%.2f\n", area_of
(p1
, p2
)); printf("周囲の長さ\t%.2f\n", circumference_of
(p1
, p2
));
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9IFBvaW50OwoKUG9pbnQgc2Nhbl9wb2ludCh2b2lkKSB7CiAgICBQb2ludCBwOwogICAgc2NhbmYoIiVsZiAlbGYiLCAmcC54LCAmcC55KTsKICAgIHJldHVybiBwOwp9Cgpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpIHsKICAgIHJldHVybiBmYWJzKHAyLnggLSBwMS54KSAqIGZhYnMocDIueSAtIHAxLnkpOwp9Cgpkb3VibGUgY2lyY3VtZmVyZW5jZV9vZihQb2ludCBwMSwgUG9pbnQgcDIpIHsKICAgIHJldHVybiAyICogKGZhYnMocDIueCAtIHAxLngpICsgZmFicyhwMi55IC0gcDEueSkpOwp9CgppbnQgbWFpbih2b2lkKSB7CiAgICBQb2ludCBwMSwgcDI7CiAgICBwcmludGYoIuW3puS4iuOBruW6p+aomeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhO+8iOS+izogMSAx77yJOiAiKTsKICAgIHAxID0gc2Nhbl9wb2ludCgpOwogICAgcHJpbnRmKCLlj7PkuIvjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTvvIjkvos6IDQgNe+8iTogIik7CiAgICBwMiA9IHNjYW5fcG9pbnQoKTsKCiAgICBwcmludGYoIumdouepjVx0JS4yZlxuIiwgYXJlYV9vZihwMSwgcDIpKTsKICAgIHByaW50Zigi5ZGo5Zuy44Gu6ZW344GVXHQlLjJmXG4iLCBjaXJjdW1mZXJlbmNlX29mKHAxLCBwMikpOwoKICAgIHJldHVybiAwOwp9