Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 |
Tags
- 코린이블로그2일차 #알고리즘공부 #C언어
- 대전스냅추천
- 대전 피로연장 넉넉한 웨딩홀
- 웅장한 웨딩홀
- 대전예식
- AIBootcamp
- 대전본식스냅추천
- 1주차
- 화담필름
- 코린이블로그8일차 #알고리즘공부 #C언어
- AI부트캠프
- 코린이블로그9일차 #알고리즘공부 #C언어
- 대전 웨딩홀 추천
- 코드스테이츠
- 대전 웨딩홀 비교
- 팔레드오페라 웨딩홀 계약 후기
- 대전스냅
- 코린이블로그17일차 #알고리즘공부 #C언어
- 2주차
- 대전본식스냅
- codestates
- 대전본식dvd
- 여백스냅
- 대전 웨딩홀 가격
- CLI
- 대전결혼준비
- 코린이블로그4일차 #알고리즘공부 #C언어
- 파이썬
- 대전 팔레드오페라 후기
- 팔레드오페라웨딩홀
Archives
- Today
- Total
찰리의 놀이터
(C언어) 홀수 마방진 만드는 코드 본문
코린이의 관점에서 작성한 코드이고 조언이 있다면 댓글 부탁드립니다 !
입력 예 (input.txt)
3
출력 예 (output.txt)
8 1 6
3 5 7
4 9 2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#define _CRT_SECURE_NO_WARINGS | |
#include <stdio.h> | |
/*오른쪽 그림과 같이 가로 세로 대각선의 합 일정한 | |
사각형을 마방진이라고 한다. 홀수 N을 입력받아 N*N | |
마방진을 만들어 출력하는 프로그램을 작성하시오.*/ | |
#define N 50 | |
int arr[N][N]; | |
int main(void) | |
{ | |
int x, y, x1, y1, count, in; | |
scanf("%d", &in); | |
x=(in+1)/2; | |
y=1; | |
count=1; | |
arr[y][x] = count; | |
while(1) | |
{ | |
x1 = x; //처음 자리로 돌아가는 수 저장 | |
y1 = y; | |
count++; //숫자 증가 | |
x++; //오른쪽으로 한 칸 이동 | |
y--; //위쪽으로 한 칸 이동 | |
if(x>in) //오른쪽 끝이면 왼쪽 끝으로 | |
x = 1; | |
if(y<1) //위쪽 끝이면 아래쪽으로 | |
y = in; | |
if(arr[y][x] != 0) //오른쪽 위쪽에 숫자가 있으면 | |
x=x1, y=y1+1; //움직이기 전 자리에서 아래쪽 | |
arr[y][x] = count; | |
if(count>=in*in) //입력수의 제곱이 되면 종료 | |
break; | |
} | |
for(x=1;x<=in;x++) | |
{ | |
for(y=1;y<=in;y++) | |
printf("%-3d", arr[x][y]); | |
printf("\n"); | |
} | |
} |
'알고리즘 공부' 카테고리의 다른 글
(C언어) 피보나치 수열 (0) | 2021.04.06 |
---|---|
(C언어) N을 입력받아 정방형 골뱅이모양으로 숫자 출력 (1) | 2021.04.05 |
(C언어) 파스칼의 삼각형 출력하기 (0) | 2021.04.03 |
(C언어) N을 입력하여 N*N 행렬을 출력하는 코드 (0) | 2021.03.31 |
(C언어) 문자열에서 같은 문자가 5번이상 나오면 뒤에 숫자를 표시하는 코드 (0) | 2021.03.30 |