ET의 공부/C언어 연습문제[ 코드업 ]
[C언어 코드업 문제풀이] CodeUp 1366 : 사각형 출력하기 4
이티의 골방
2020. 3. 30. 22:30
코드업 1366번 사각형 출력하기4 문제 풀이 해답입니다.
1. 문제 설명
대각선과 테두리가 그려진 사각형에 가로,세로 중심에 선을 추가하기로 했다.
n이 입력되었을때, 이러한 n*n 사각형을 출력하는 프로그램을 만들자.(단, 3<=n<=99, n은 홀수)
2. 입력
사각형의 크기 n이 입력된다.(n은 홀수)
3. 출력
대각선과 테두리가 그려진 사각형에 가로, 세로 중심에 선을 추가한 사각형을 출력한다.
4. 입력 예시
17
5. 출력 예시
*****************
** * **
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
* *** *
*****************
* *** *
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
** * **
*****************
6. 문제 풀이
#include<stdio.h>
int main(){
int num;
scanf("%d", &num);
for(int i = 1; i<= num; i++){
for(int j = 1; j<=num; j++){
if( (i == 1) || (j == 1) || (i == num) || (j == num) || (i == j) || (i+j == num+1) ||(i == num/2 + 1)||(j == num/2 + 1)){
printf("*");
}
else{
printf(" ");
}
}
printf("\n");
}
return 0;
}
|
이전 문제 코드의 조건중 (i == num/2 + 1)||(j == num/2 + 1) 를 추가해주면 됩니다.

n의 입력 조건은 홀수이기 때문에 num/2 + 1 를 통해 중간 지점을 알 수 있습니다.