「座標平面上の 2 つの点の、各座標(4 つの整数)をキーボードから読み込み、その 2 点間の距離を表示するプログラムを作成せよ。」
という条件のプログラムを作るという背景です。
#include <stdio.h> #include <math.h> struct point { int x, y; }; int main(void){ struct point p1, p2; scanf("%d", &p1.x); scanf("%d", &p1.y); scanf("%d", &p2.x); scanf("%d", &p2.y); printf("(%d, %d) ... (%d, %d) : %f\n", p1.x, p1.y, p2.x, p2.y, sqrt( (p1.x - p2.x)*(p1.x - p2.x) + (p1.y - p2.y)*(p1.y - p2.y) ) ); return 0; }
このプログラム内の
sqrt( (p1.x - p2.x)*(p1.x - p2.x) + (p1.y - p2.y)*(p1.y - p2.y) )
なぜ、同じ座標の引いたものの二乗の和なのでしょうか。私は一つだけでいいと思っているのですが、間違いを教えていただきたいです。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。