#include <stdio.h>
#include <math.h>
typedef struct{
double x;
double y;
}Point;
Point scan_point(void);
double area_of(Point p1, Point p2);
double circumference_of(Point p1, Point p2);
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); double area=area_of(p1, p2);
double circumference=circumference_of(p1, p2);
printf("周囲の長さ:%.2f\n",circumference
);
return 0;
}
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(p2.
y - p1.
y); return width * height;
}
double circumference_of(Point p1, Point p2) {
double width
= fabs(p2.
x - p1.
x); double height
= fabs(p2.
y - p1.
y); return 2.0 * (width + height);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+CnR5cGVkZWYgc3RydWN0ewpkb3VibGUgeDsKZG91YmxlIHk7Cn1Qb2ludDsKClBvaW50IHNjYW5fcG9pbnQodm9pZCk7CmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMik7CgppbnQgbWFpbih2b2lkKSB7CiAgICBwcmludGYoIuW3puS4iumaheOBqOWPs+S4i+maheOBruW6p+aomeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIik7CiAgICBQb2ludCBwMT1zY2FuX3BvaW50KCk7CiAgICBwcmludGYoIuW6p+aomTEoJS4yZiwgJS4yZilcbiIsIHAxLngsIHAxLnkpOwogICAgUG9pbnQgcDI9c2Nhbl9wb2ludCgpOwogICAgcHJpbnRmKCLluqfmqJkyKCUuMmYsICUuMmYpXG4iLCBwMi54LCBwMi55KTsKICAgIGRvdWJsZSBhcmVhPWFyZWFfb2YocDEsIHAyKTsKICAgIGRvdWJsZSBjaXJjdW1mZXJlbmNlPWNpcmN1bWZlcmVuY2Vfb2YocDEsIHAyKTsKCiAgICBwcmludGYoIumdouepjTolLjJmXG4iLGFyZWEpOwogICAgcHJpbnRmKCLlkajlm7Ljga7plbfjgZU6JS4yZlxuIixjaXJjdW1mZXJlbmNlKTsKCiAgICByZXR1cm4gMDsKfQoKUG9pbnQgc2Nhbl9wb2ludCh2b2lkKSB7CiAgICBQb2ludCBwOwpzY2FuZigiJWxmICVsZiIsICZwLngsICZwLnkpOwpyZXR1cm4gcDsKfQpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpIHsKICAgIGRvdWJsZSB3aWR0aCA9IGZhYnMocDIueCAtIHAxLngpOwogICAgZG91YmxlIGhlaWdodCA9IGZhYnMocDIueSAtIHAxLnkpOwogICAgcmV0dXJuIHdpZHRoICogaGVpZ2h0Owp9Cgpkb3VibGUgY2lyY3VtZmVyZW5jZV9vZihQb2ludCBwMSwgUG9pbnQgcDIpIHsKICAgIGRvdWJsZSB3aWR0aCA9IGZhYnMocDIueCAtIHAxLngpOwogICAgZG91YmxlIGhlaWdodCA9IGZhYnMocDIueSAtIHAxLnkpOwogICAgcmV0dXJuIDIuMCAqICh3aWR0aCArIGhlaWdodCk7Cn0KCg==