개인 공부/C언어 공부
C언어 코딩도장 53.6 : 선의 길이 구하기
240 • 사공이
2020. 8. 26. 02:29
문제 : 표준 입력으로 x, y 좌표 4개가 입력되어 Point2D 구조체 배열에 저장됩니다. 여기서 점 4개는 첫 번째 점부터 마지막 점까지 순서대로 이어져 있습니다. 다음 소스 코드를 완성하여 첫 번째 점부터 마지막 점까지 연결된 선의 길이가 출력되게 만드세요.
문제에선 이미 배열 크기가 정해져 있어서 for 루프 조건에서 sizeof(p) / sizeof(struct Point2D)를 이용하지 않았는데 흠... 그렇게 해볼 걸 그랬나
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
struct Point2D {
int x;
int y;
};
int main()
{
struct Point2D p[4];
double length = 0.0f;
scanf("%d %d %d %d %d %d %d %d",
&p[0].x, &p[0].y, &p[1].x, &p[1].y, &p[2].x, &p[2].y, &p[3].x, &p[3].y
);
for (int i = 0; i < 3; i++)
{
int a = p[i + 1].x - p[i].x;
int b = p[i + 1].y - p[i].y;
length += sqrt((a * a) + (b * b));
}
printf("%f\n", length);
return 0;
}
|
cs |