본문 바로가기

전체 글

(203)
C언어 연습문제32 [문제] getchar, putchar 함수를 사용하여 문자를 입력 받아 바로 출력하는 프로그램을 작성하라. 단, 프로그램의 종료는 Ctrl+Z를 사용한다. 추가적으로 위의 프로그램을 fgetc, fputc 함수를 사용하여 같은 기능의 프로그램을 작성하라. [실행결과] Hi Hi Welcome to C World Welcome to C World ^Z [코드1] #include int main(void) { int ch; while (1) { ch = getchar(); if (ch == EOF) break; putchar(ch); } return 0; } [코드2] #include int main(void) { int ch; while (1) { ch = fgetc(stdin); if (ch == EO..
C언어 연습문제31 [문제] 가위 바위 보 게임을 만들어 보자. 사용자로부터 가위 바위 보 중에서 하나를 입력 받는다. 그리고 컴퓨터는 난수 생성을 통해서 가위 바위 보 중에서 하나를 선택하게 한다. 이 둘을 비교해서 승자와 패자를 가려주는 프로그램을 작성해 보자. 단 프로그램의 진행은 사용자가 질 때까지 계속되어야 하고, 마지막에 가서는 게임의 결과(예: 4승 3무)까지 출력해 주도록 하자. [실행결과] 바위는 1, 가위는 2, 보는 3: 2 당신은 가위 선택, 컴퓨터는 가위 선택, 비겼습니다! 바위는 1, 가위는 2, 보는 3: 1 당신은 바위 선택, 컴퓨터는 바위 선택, 비겼습니다! 바위는 1, 가위는 2, 보는 3: 3 당신은 보 선택, 컴퓨터는 바위 선택, 이겼습니다! 바위는 1, 가위는 2, 보는 3: 3 당신은..
C언어 연습문제30 [문제] 난수 함수를 이용하여 두 개의 주사위를 던졌을 때의 결과를 출력하는 프로그램을 작성하라. [실행결과] 주사위 1의 결과 2 주사위 2의 결과 6 [코드] #include #include #include int RollDie(void); int main(void) { int dice1, dice2; srand((unsigned int)time(NULL)); dice1 = RollDie(); dice2 = RollDie(); printf("주사위 1의 결과 %d \n주사위 2의 결과 %d", dice1, dice2); return 0; } int RollDie(void) { return (rand() % 6 + 1); } 윤성우의 열혈 C 프로그래밍
C언어 연습문제29 [문제] 달팽이 배열을 만들어서 이를 출력하는 프로그램을 작성하라. 달팽이 배열은 아래의 그림과 같다. 아래 그림에서는 4x4의 달팽이 배열과 5x5의 달팽이 배열을 보여주고 있다. 이 내용을 참조하여 프로그램 사용자로부터 하나의 숫자 n을 입력 받아서 n x n의 길이에 해당하는 달팽이 배열을 출력해주는 프로그램을 작성하라. [실행결과] [코드] #include int main(void) { int arr[50][50]; int i, j, idx, len; int w = -1, s = 0, inc = 1, val = 0; printf("숫자를 입력하시오: "); scanf_s("%d", &len); idx = len; while (1) { for (i = 0; i < idx; i++) // 가로 단위 ..
C언어 연습문제28 [문제] 길이가 4x4인 int형 2차원 배열을 선언하고, 모든 요소를 아래 그림의 왼쪽에 있는 형태와 동일하게 초기화하자. 그리고 배열의 요소들을 오른쪽 방향으로 90º씩 이동시켜서 그 결과를 출력하는 프로그램을 작성해보자. 참고로 배열이 변경되는 형태는 아래와 같다. 출력을 하는 함수와 90º회전하는 함수 두 개를 만들 것 [실행결과] [코드] #include void ShowArr(int(*arr)[4]); void RotateArr(int(*arr)[4]); int main(void) { int i; int arr[4][4] = { { 1, 2, 3, 4}, { 5, 6, 7, 8}, { 9, 10, 11, 12}, {13, 14, 15, 16} }; for (i = 0; i < 3; i++) {..
WinMerge 목차 1. WinMerge란 2. WinMerge 설치 방법 3. WinMerge 사용방법 1. WinMerge란 WinMerge는 윈도우용 무료 소프트웨어 프로그램입니다. WinMerge는 두 개의 파일 또는 폴더 전체를 비교할 수 있으며, 버전 간에 변경된 사항을 확인한 다음 버전간에 변경 사항을 병합할 수도 있습니다. 2. WinMerge 설치 방법 1) 아래 링크를 통해 WinMerge 홈페이지로 이동한다. https://winmerge.org/downloads/?lang=en Download WinMerge - WinMerge Download WinMerge The easiest way to install WinMerge is to download and run the Installer. Rea..
C언어 연습문제27 [문제] 아래의 코드에서 WhoIsFirst 함수를 완성하시오. #include int OlderFirst(int age1, int age2) { if (age1 > age2) return age1; else return age2; } int YoungerFirst(int age1, int age2) { if (age1 < age2) return age1; else return age2; } int WhoIsFirst() { } int main() { int age1 = 20; int age2 = 30; int first; printf("입장순서 1 \n"); first = WhoIsFirst(age1, age2, OlderFirst); printf("%d세와 %d세 중 %d세가 먼저 입장! \n\n",..
C언어 연습문제26 [문제] 먼저 아래와 같이 2차원 배열 arr1, arr2를 선언한다. arr1 1 2 3 4 5 6 7 8 arr2 1 1 1 1 3 3 3 3 5 5 5 5 그리고 배열요소를 출력하는 함수 ShowArr2Dstyle()와 배열요소의 합을 반환하는 함수 Sum2DArr()을 사용하여 arr1, arr2의 배열 요소와 배열 요소의 합을 출력하라. [실행결과] 1 2 3 4 5 6 7 8 1 1 1 1 3 3 3 3 5 5 5 5 arr1의 합: 36 arr2의 합: 36 [코드] #include void ShowArr2Dstyle(int(*arr)[4], int column) // 2차원 배열 전체 요소 출력 { int i, j; for (i = 0; i < column; i++) { for (j = 0..