728x90

코딩/윤성우의 열혈 C프로그래밍 3

열혈C도전프로그래밍-도전 프로그래밍3

윤성우의 열혈 C 프로그래밍 406쪽에 위치한 '도전! 프로그래밍 3'의 해설입니다. 도전 1 길이가 4×4인 int형 2차원 배열을 선언하고, 모든 요소를 아래 그림의 왼쪽에 있는 형태와 동일하게 초기화하자. 그리고 배열의 요소들을 오른쪽 방향으로 90˚씩 이동시켜서 그 결과를 출력하는 프로그램을 작성해 보자. 참고로 배열이 변경되는 형태는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 13 9 5 1 14 10 6 2 15 11 7 3 16 12 8 4 처음에 어떻게 방향을 돌릴지 고민할 것이다. 어떻게 할지 모를 때는 일단 각각의 좌표가 어디로 이동하는지 일일이 적어보고 규칙을 찾으면 된다. 처음 좌표 회전후 좌표 0, 0 0, 3 0, 1 1, 3 0, 2 2..

열혈C프로그래밍-도전 프로그래밍2

윤성우의 열혈 C 프로그래밍 328쪽에 위치한 '도전! 프로그래밍 2'의 해설입니다. 도전 1 길이가 10인 배열을 선언하고 총 10개의 정수를 입력받아서, 홀수와 짝수를 구분 지어 출력하는 프로그램을 작성해 보자. 일단 홀수부터 출력하고 나서 짝수를 출력하도록 하자. 단, 10개의 정수는 main 함수 내에서 입력받도록 하고, 배열 내에 존재하는 홀수만 출력하는 함수와 배열 내에 존재하는 짝수만 출력하는 함수를 각각 정의해서 이 두 함수를 호출하는 방식으로 프로그램을 완성하자. 내가 생각했을 때 이 문제의 핵심은 짝수, 홀수를 구분하는 것이 아닌 홀수, 짝수 출력 시 숫자들 사이에 ', '을 넣어 출력하는 것이다. 그냥 출력 시 "% d, "이렇게 해버리면 1,2,3, 이런 식으로 나오는데 이러면 가장..

열혈 C프로그래밍-도전 프로그래밍1

윤성우의 열혈 C 프로그래밍 248쪽에 위치한 '도전! 프로그래밍1'의 해설입니다. 도전1 10진수 정수를 입력받아서 16진수로 출력하는 프로그램을 작성해 보자. 이는 서식 문자의 활용에 대한 문제이므로 쉽게 해결할 수 있을 것이다. 16진수는 0~9까지의 숫자 그리고 A~F까지의 문자 총 16개를 이용하여 수를 표현하는 방법인데 이 문제에서는 배경지식이 없어도 서식 문자를 활용하면 바로 문제를 해결할 수 있다. 물론 서식문자를 이용하지 않고도 문제를 풀 수 있지만 조금 더 복잡해진다. 10진수 서식문자 = %d 16진수 서식 문자 = %x 이 두 개를 활용하면 된다. 코드 #include int main(void) { int n; scanf("%d", &n); printf("%X", n); } 10진수..

728x90