야구 게임 이번에는 C언어로 야구 게임을 만들어 볼 것이다.0~9까지의 서로 같지 않은 난수 3개를 발생시켜서 그 숫자를 순서대로 맞추는 야구 게임 프로그램이다.난수 3개가 각자 서로 다를때 까지 난수를 발생 시킬것이다.한번 만들어보자. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include #include #include void* memset(void* dest, int fillChar, unsigned int count);main(){ int com[3] = { 0, }, gamer[3] = { 0, }, guess[10] = { 0, }; int coun..
가위바위보 게임 이번에는 가위바위보 게임을 만들어볼거다.srand 함수와 rand함수를 이용해서 컴퓨터와 게임을 하는 프로그램을 만들자. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253#include #include #include #include void check_game(int saram, int computer);int point = 15000;main(){ int gamer, computer; puts("가위바위보 게임을 시작합니다."); puts("숫자를 누르고 엔터키를 치세요!!"); while (1) { printf("현재 자산 : %d원\n가위(1) 바위(2) 보..
bsearch 이진 검색 함수 이번에는 이진 검색 함수 bsearch에 대해서 알아볼것이다.bsearch 함수를 사용하려면 stdlib.h 파일은 include 해줘야 한다. 이진 검색이란?? 방대한 크기의 배열을 빠르게 검색할 수 있다. 검색의 효율은 오름차순으로 정렬된 배열에 의해서 결정이 된다.검색이 수행되는 과정은 다음과 같다. 1. 검색 키(key)가 배열의 중앙에 있는 요소와 비교한다.2개의 값이 일치한다면 검색이 수행되고, 그렇지 않다면 검색 키는 배열의 요소보다 작거나 큰 경우이다.2. 검색 키가 배열의 요소보다 작다면 일치하는 내용은 배열의 앞 부분에 위치되어 있을 것이다.검색 키가 배열의 요소보다 크다면 일치하는 요소는 배열의 뒷부분에 위치되어 있을 것이다.3. 검색은 배열의 절반을 범..
qsort(퀵 정렬) 정렬하기 이번에는 qsort 함수에 대해서 알아보자. qsort 함수를 사용하려면 stdlib.h 파일을 include 해야한다. 함수의 원형을 보자. 1void qsort(void *base, size_t num, size_t, width, int(__cdecl *compare)(const void *eleml, const void *elem2));cs ▶ base : 정렬할 배열의 번지 ▶ num : 총 배열 요소의 갯수▶ width : 배열 요소가 차지하는 크기, int형은 4바이트, double형은 8바이트▶ compare : 비교 함수, 정수값 및 문자열을 모두 비교하는 함수를 사용 가능. 함수의 원형은 이렇다. 사용법을 한번 보자. 12345678910111213#incl..
memcpy, memmove, memset 함수 구현 이번에는 memcpy, memmove 함수를 구현 해보겠다.memcpy, memmove 함수를 잘 모르면 이쪽에 들어가서 보기를 바란다. 2018/07/08 - [프로그래밍/C] - memcpy, memmove, memcmp 메모리 관련 함수 123456789101112131415161718192021222324#include #include struct tagM1{ int x, y; char buffer[30];}x1, x2;void* memcpy(void *dest, const void *src, unsigned int count);main(){ x1.x = 5; x1.y = 10; strcpy_s(x1.buffer, sizeof(x1.buffer..
strrev 문자열 거꾸로 뒤집기 이번에는 strrev 함수에 대해서 알아보겠다. 이 함수를 사용하려면 string.h 파일을 include 해야 된다.strrev 함수의 원형을 이러하다. 1char* strrev(char *string);cs 사용법을 보자. 123456789#include #include main(){ char string[100] = "aossuper8.tistory.com"; _strrev(string); puts(string);}Colored by Color Scriptercs 사용법은 _strrev(거꾸로 뒤집혀질 문자열); 이렇게 사용하면 된다. 간단하다.그럼 이 함수가 어떻게 동작하는지 구현을 보자. 1234567891011121314151617181920212..
함수 포인터 쓰는 이유?? 가장 쉬운 설명 이번에는 함수 포인터 쓰는 이유를 알아보겠다.포인터를 배울때도 이게 왜 포인터가 어떻게 쓰이는지? 왜 쓰이는지 잘 몰랐다.그 이유에 대해서는 여기에서 알아보기로 하고이 글에서는 함수 포인터 쓰는 이유에 대해서 알아보자. 어느 한 질문이 있었다.Q. 포인터를 통해 인자를 전달하는 것보다 직접적으로 함수에 전달하는 것이 효율적인거 같은데 함수 포인터는 왜 배우는 건가요?A. 함수 포인터는 일므을 모르는 함수를 호출할 때 사용합니다. 주로 "프로그램을 제작하는 그 당시에는 존재하지 않는 함수"를 호출할때 이용하죠. 예를 들면 프로그램에 플로그인 기능이 필요한 경우, 플러그인은 아직 존재하지 않고 나중에 추가 될 수 있기 때문에 프로..
strtok, strpbrk 구분자로 분리하기이번에는 strtok, strpbrk에 대해서 알아보겠다.이 함수들을 사용하려면 string.h 파일을 include 해야된다. 두개의 함수 원형을 보자. 12char* strtok(char *strToken, const char *strDelimit);char* strpbrk(const char *string, const char *strCharSet);cs 함수의 원형은 이렇다. strtok 사용법을 보자. 12345678910111213#include #include main(){ char str[100] = "aossuper8.tistory.com"; char *token, *context; token = strtok_s(str, ".", &contex..
strcspn 문자열 중에서 일치되는 첫 문자의 위치 구하기 이번에는 strcspn 함수에 대해서 알아보겠다. strcspn 함수를 사용하려면 string.h 파일을 include 해야된다. 함수의 원형을 보면 1unsigned int strcspn(const char *string, const char *strCharSet);cs 이라고 나와있다. 사용법을 보자. 123456789101112#include #include main(){ char *str = "aossuper8.tistory.com"; char *strChar = "!@#$%^&*()_+.?>"; unsigned int pos; pos = strcspn(str, strChar); printf("%d 위치에서 일치되는 첫 문자를 발견하였습..
C언어 두 번째 큰 수 찾기 이번에는 if 문을 이용해 두 번째 큰 수를 찾는 알고리즘을 알아보자. a, b, c 3개의 정수를 입력받고 두 번째로 큰 수를 찾아보자. 그럼 어떻게 접근을 해야 될까? 간단하게 생각해보자. 그냥 다 비교하면 된다. 문제 : a, b, c 3개의 정수를 입력받고 두 번째 큰 정수를 출력해보자. input : 30 20 10 output : 20 input : 20 30 10 output : 20 input : 10 20 30 output : 20 소스를 보자. 123456789101112131415161718192021#include main(){ int a, b, c; scanf_s("%d %d %d", &a, &b, &c); if (a > b) { if (b
C언어 숫자의 합 이번에는 처음에 5를 입력하면 5개의 숫자를 입력받아서 그 숫자 합을 알아내는 것을 알아볼거다. 예를 들어보자. 입력받는 값은 1
C언어 요일 구하기 프로그램 이번에는 요일 구하기 프로그램을 만들어보자.2007년 x 월 y 일은 무슨 요일일까?라는 문제가 나왔다.그럼 어떻게 할 것인가?? 1년은 12개월이고 1, 3, 5, 7, 8, 10, 12월은 총 31일까지 있고 4, 5, 9, 11월은 30일, 2월은 28일까지 있다.요일 구하는 방법은 y = y + x 월까지의 마지막 일수를 해주고 y % 7을 해주면 된다.요일 구하는 프로그램을 C언어로 나타내 보자. 문제 : 2007년 1월 1일은 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 12345678910#include main() { int x, y; int month[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, ..