#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=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;
}
point scan_point(void){
point p;
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+Cgp0eXBlZGVmIHN0cnVjdHsKCWRvdWJsZSB4OwoJZG91YmxlIHk7Cn1wb2ludDsKCnBvaW50IHNjYW5fcG9pbnQodm9pZCk7CmRvdWJsZSBhcmVhX29mKHBvaW50IHAxLCBwb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKHBvaW50IHAxLCBwb2ludCBwMik7CgppbnQgbWFpbih2b2lkKQp7CglwcmludGYoIuW6p+aomTHjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTvvJoiKTsKCXBvaW50IHAxPXNjYW5fcG9pbnQoKTsKCXByaW50Zigi5bqn5qiZMSglLjJmLCUuMmYpXG4iLHAxLngsIHAxLnkgKTsKCQogICAgcHJpbnRmKCLluqfmqJky44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GE77yaIik7CiAgICBwb2ludCBwMj1zY2FuX3BvaW50KCk7CglwcmludGYoIuW6p+aomTIoJS4yZiwlLjJmKVxuIixwMi54LCBwMi55ICk7CgkKICAgIHByaW50Zigi6Z2i56mN77yaJS4yZlxuIiwgYXJlYV9vZihwMSwgcDIpKTsKICAgIHByaW50Zigi5ZGo5Zuy44Gu6ZW344GV77yaJS4yZlxuIiwgY2lyY3VtZmVyZW5jZV9vZihwMSwgcDIpKTsKCiAgICByZXR1cm4gMDsKfQpwb2ludCBzY2FuX3BvaW50KHZvaWQpewoJcG9pbnQgcDsKCXNjYW5mKCIlbGYiLCAmcC54KTsKCXNjYW5mKCIlbGYiLCAmcC55KTsKCXJldHVybiBwOwoJCn0KZG91YmxlIGFyZWFfb2YocG9pbnQgcDEsIHBvaW50IHAyKSB7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiB3aWR0aCAqIGhlaWdodDsKfQoKZG91YmxlIGNpcmN1bWZlcmVuY2Vfb2YocG9pbnQgcDEsIHBvaW50IHAyKSB7CiAgICBkb3VibGUgd2lkdGggPSBmYWJzKHAyLnggLSBwMS54KTsKICAgIGRvdWJsZSBoZWlnaHQgPSBmYWJzKHAyLnkgLSBwMS55KTsKICAgIHJldHVybiAyICogKHdpZHRoICsgaGVpZ2h0KTsKfQoKCg==