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