#include <stdio.h>
#include <math.h>
typedef struct {
double x;
double y;
} Point;
Point scan_point(int n);
double area_of(Point p1, Point p2);
double circumference_of(Point p1, Point p2);
int main(void) {
Point p1, p2;
printf("左上隅と右下隅の座標を入力してください。\n"); p1 = scan_point(1);
p2 = scan_point(2);
double area = area_of(p1, p2);
double circum = circumference_of(p1, p2);
printf("周囲の長さ:%.2f\n", circum
);
return 0;
}
Point scan_point(int n){
Point p;
printf("座標%d (%.2f, %.2f)\n", n
, 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+Cgp0eXBlZGVmIHN0cnVjdCB7CiAgICBkb3VibGUgeDsKICAgIGRvdWJsZSB5Owp9IFBvaW50OwoKUG9pbnQgc2Nhbl9wb2ludChpbnQgbik7CmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMik7CgppbnQgbWFpbih2b2lkKSB7CiAgICBQb2ludCBwMSwgcDI7CgogICAgcHJpbnRmKCLlt6bkuIrpmoXjgajlj7PkuIvpmoXjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIpOwogICAgcDEgPSBzY2FuX3BvaW50KDEpOwogICAgcDIgPSBzY2FuX3BvaW50KDIpOwoKICAgIGRvdWJsZSBhcmVhID0gYXJlYV9vZihwMSwgcDIpOwogICAgZG91YmxlIGNpcmN1bSA9IGNpcmN1bWZlcmVuY2Vfb2YocDEsIHAyKTsKCiAgICBwcmludGYoIumdouepje+8miUuMmZcbiIsIGFyZWEpOwogICAgcHJpbnRmKCLlkajlm7Ljga7plbfjgZXvvJolLjJmXG4iLCBjaXJjdW0pOwoKICAgIHJldHVybiAwOwp9CgpQb2ludCBzY2FuX3BvaW50KGludCBuKXsKICAgIFBvaW50IHA7CiAgICBwcmludGYoIuW6p+aomSVkICglLjJmLCAlLjJmKVxuIiwgbiwgcC54LCBwLnkpOwogICAgcmV0dXJuIHA7Cn0KCmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMil7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiB3aWR0aCAqIGhlaWdodDsKfQoKZG91YmxlIGNpcmN1bWZlcmVuY2Vfb2YoUG9pbnQgcDEsIFBvaW50IHAyKSB7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiAyLjAgKiAod2lkdGggKyBoZWlnaHQpOwp9Cg==