void main() { int x_1, x_2, y_1, y_2; int height, width, area; int temp; back: printf("첫 번째 좌표를 입력해 주세요 : "); scanf("%d %d", &x_1, &y_1); printf("두 번째 좌표를 입력해 주세요 : "); scanf("%d %d", &x_2, &y_2); if((x_1 == x_2) || (y_1 == y_2)) { printf("잘못된 좌표를 입력하셨습니다. \n\n"); goto back; } if(x_1 > x_2) { temp = x_1; x_1 = x_2; x_2 = temp; } if(y_1 > y_2) { temp = y_1; y_1 = y_2; y_2 = temp; } width = x_1 - x_2; height = y_1 - y_2; area = width * height; printf("사각형의 넓이는 %d 입니다.\n", area); }
좌표 두 개를 입력받은 뒤 오류가 있는지 검사한다. 입력 받은 두 좌표를 비교하는데 x의 두 값이 같거나, y의 두 값이 같으면 오류가 있는 것이므로 다시 입력받는다.
나머지 두 좌표를 따라 구할 필요가 없이 가로 길이와 세로 길이를 구하면 된다. 가로 길이는 x값의 차이, 세로 길이는 y값의 차이로 구할 수 있다. 이 때, 입력받은 좌표의 순서는 매번 틀리므로 큰 값에서 작은 값을 빼야 한다.
이제 가로 길이와 세로 길이를 알았으므로 곱해서 넓이를 구해 출력하면 된다.