#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){
Point p1 = {0.00, 0.00};
Point p2;
printf("左上隅と右下隅の座標を入力してください。\n"); printf("座標1 (%.2f, %.2f)\n", p1.
x, p1.
y);
p2 = scan_point();
double area = area_of(p1, p2);
double circum = circumference_of(p1, p2);
printf("周囲の長さ:%.2f\n", circum
);
return 0;
}
Point scan_point(void){
Point p;
scanf("%lf %lf", &p.
x, &p.
y); printf("座標2 (%.2f, %.2f)\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 * (width + height);
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdHsKICAgIGRvdWJsZSB4OwogICAgZG91YmxlIHk7Cn1Qb2ludDsKClBvaW50IHNjYW5fcG9pbnQodm9pZCk7CmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMik7CgppbnQgbWFpbih2b2lkKXsKICAgIFBvaW50IHAxID0gezAuMDAsIDAuMDB9OwogICAgUG9pbnQgcDI7CgogICAgcHJpbnRmKCLlt6bkuIrpmoXjgajlj7PkuIvpmoXjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIpOwogICAgcHJpbnRmKCLluqfmqJkxICglLjJmLCAlLjJmKVxuIiwgcDEueCwgcDEueSk7CgogICAgcDIgPSBzY2FuX3BvaW50KCk7CgogICAgZG91YmxlIGFyZWEgPSBhcmVhX29mKHAxLCBwMik7CiAgICBkb3VibGUgY2lyY3VtID0gY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpOwoKICAgIHByaW50Zigi6Z2i56mN77yaJS4yZlxuIiwgYXJlYSk7CiAgICBwcmludGYoIuWRqOWbsuOBrumVt+OBle+8miUuMmZcbiIsIGNpcmN1bSk7CgogICAgcmV0dXJuIDA7Cn0KClBvaW50IHNjYW5fcG9pbnQodm9pZCl7CiAgICBQb2ludCBwOwogICAgc2NhbmYoIiVsZiAlbGYiLCAmcC54LCAmcC55KTsKICAgIHByaW50Zigi5bqn5qiZMiAoJS4yZiwgJS4yZilcbiIsIHAueCwgcC55KTsKICAgIHJldHVybiBwOwp9Cgpkb3VibGUgYXJlYV9vZihQb2ludCBwMSwgUG9pbnQgcDIpewogICAgZG91YmxlIHdpZHRoID0gZmFicyhwMi54IC0gcDEueCk7CiAgICBkb3VibGUgaGVpZ2h0ID0gZmFicyhwMi55IC0gcDEueSk7CiAgICByZXR1cm4gd2lkdGggKiBoZWlnaHQ7Cn0KCmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMil7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiAyICogKHdpZHRoICsgaGVpZ2h0KTsKfQo=