#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, p2;
printf("左上隅と右下隅の座標を入力してください。\n");
p1 = scan_point();
printf("(%.2f, %.2f)\n", p1.
x, p1.
y);
p2 = scan_point();
printf("(%.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;
scanf("%lf %lf", &p.
x, &p.
y); return p;
}
double area_of(Point p1, Point p2){
return fabs((p2.
x-p1.
x)*(p2.
y-p1.
y)); }
double circumference_of(Point p1, Point p2){
return fabs(((p2.
x-p1.
x)+(p2.
y-p1.
y))*2); }
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxtYXRoLmg+Cgp0eXBlZGVmIHN0cnVjdHsKCWRvdWJsZSB4OwoJZG91YmxlIHk7Cn1Qb2ludDsKClBvaW50IHNjYW5fcG9pbnQodm9pZCk7CmRvdWJsZSBhcmVhX29mKFBvaW50IHAxLCBQb2ludCBwMik7CmRvdWJsZSBjaXJjdW1mZXJlbmNlX29mKFBvaW50IHAxLCBQb2ludCBwMik7CgppbnQgbWFpbih2b2lkKSB7CgkKCVBvaW50IHAxLCBwMjsKCQoJcHJpbnRmKCLlt6bkuIrpmoXjgajlj7PkuIvpmoXjga7luqfmqJnjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIpOwoJCglwcmludGYoIuW6p+aome+8kSIpOwoJcDEgPSBzY2FuX3BvaW50KCk7CglwcmludGYoIiglLjJmLCAlLjJmKVxuIiwgcDEueCwgcDEueSk7CgkKCXByaW50Zigi5bqn5qiZ77ySIik7CglwMiA9IHNjYW5fcG9pbnQoKTsKCXByaW50ZigiKCUuMmYsICUuMmYpXG4iLCBwMi54LCBwMi55KTsKCQoJcHJpbnRmKCLpnaLnqY3vvJolLjJmXG4iLGFyZWFfb2YocDEsIHAyKSk7CglwcmludGYoIuWRqOWbsuOBrumVt+OBle+8miUuMmZcbiIsIGNpcmN1bWZlcmVuY2Vfb2YocDEsIHAyKSk7CgkKCXJldHVybiAwOwp9CgpQb2ludCBzY2FuX3BvaW50KHZvaWQpewoJUG9pbnQgcDsKCXNjYW5mKCIlbGYgJWxmIiwgJnAueCwgJnAueSk7CglyZXR1cm4gcDsKfQoKZG91YmxlIGFyZWFfb2YoUG9pbnQgcDEsIFBvaW50IHAyKXsKCXJldHVybiBmYWJzKChwMi54LXAxLngpKihwMi55LXAxLnkpKTsKfQoKZG91YmxlIGNpcmN1bWZlcmVuY2Vfb2YoUG9pbnQgcDEsIFBvaW50IHAyKXsKCXJldHVybiBmYWJzKCgocDIueC1wMS54KSsocDIueS1wMS55KSkqMik7Cn0=