본문 바로가기

전체 글

(196)
C언어 연습문제33 [문제] 프로그램 사용자로부터 알파벳 문자를 하나 입력 받아서, 입력 받은 문자가 대문자이면 이를 소문자로 변환해서 출력해주고, 입력 받은 문자가 소문자이면 이를 대문자로 변환해서 출력해주는 프로그램을 작성해보자. 단, 문자의 입출력에는 getchar 함수와 putchar 함수를 사용하기로 하자. 그리고 프로그램 사용자가 알파벳 이외의 문자를 입력하는 경우에는 그에 따른 오류 메시지를 간단히 출력하기로 하자. 조건1) ConvCase 함수를 만들어 사용할 것 조건2) 아스키 코드를 변환하는 부분을 최대한 단순하게 만들 것 [실행결과] 문자입력: a A 문자입력: 6 잘못된 입력입니다. [코드] #include int ConvCase(int ch) { int diff = 'a' - 'A'; if (ch >..
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",..