본문 바로가기

C언어

(10)
C++ 습격자 초라기 문제 풀기 (백준 1006) 읽어주셔서 감사합니다. 오늘은 백준의 1005번, ACM craft 문제에 대해 풀어보도록 하겠습니다. *이번 문제도 1005번과 같이 1006번이라는 번호와는 걸맞지 않게 다이나믹 프로그래밍을 사용합니다. * 혼자 작성 하기는 하였으나, logic1부분은 타 블로그를 조금 참고했습니다. 조금 유감스러운 일입니다. 참고한 블로그 주소 code #include #include #include #define INF20001 #define MIN(x, y)(((x) (y))? (x) : (y)) int N, T, W; int dy[10002][3]; int val[10002][2]; enum{fir, sec, whl}; void l..
C언어 소수 판단 하는 방법 [with source] 읽어주셔서 감사합니다. 오늘은 C언어로 입력받은 문자를 아스키 코드로 출력하는 방법을 알아보도록 하겠습니다. 코드1 효율적이라 할 수는 없지만 이해가 빠른 코드 코드 목적에 맞게 주석을 작성했습니다. #define _CRT_SECURE_NO_WARNINGS #include #define TRUE1 #define FALSE0 int isPrime(int n) { //소수판단 함수 int i; if (n == 1) { return FALSE; } //만약 수가 1이면, false 출력 for (i = 2; i < n; i++) { if ((n % i) == 0) { return FALSE; } // 2 ~ n-1까지의 수 중 약수가 존재하면 false 출력 } return TRUE; //약수가 없다면 tru..
C언어 계단모양으로 별 출력하는 방법 [with source] 읽어주셔서 감사합니다. 오늘은 C언어로 입력받은 문자를 아스키 코드로 출력하는 방법을 알아보도록 하겠습니다. 코드구성 코드를 구성하기 전에 계단의 구조를 한번 봅시다. * ** *** **** 이 4단 계단에서는 1단에서는 *이 한개, 2단에서는 *이 2개...4단에는 *이 4개 있는 구조입니다. 즉, 단 수(줄 수)가 늘어날수록 *의 개수도 한개식 늘어나는 구죠이죠. 이 구조에 따라, 코드는 아래와 같은 방식으로 구성되어있습니다. 계단의 단수 입력 : n 1 ~ n까지 변수 i값을 늘려가며 출력 '*'을 i개 출력하고 줄을 바꿈 프로그램 종료 코드 간단한 코드입니다. 사용하실 분들은 Ctrl + C, Ctrl + V로 사용하시면 됩니다. #define _CRT_SECURE_NO_WARNINGS #inc..
#define _CRT_SECURE_NO_WARNINGS 사용하는 이유 안녕하세요 오늘은 언제부턴가 나타나게 된 이 녀석에 대해 알아보고자 합니다. 이 프로그램을 한번 보죠 #include int main(void) { int a; scanf("%d", &a); printf("%d\n", a); return 0; } 너무나 평범한 프로그램입니다. 하지만 이 프로그램을 visual studio에서 실행하고자 하면, 다음과 같은 에러가 발생합니다. 이건 왜 발생할까요? 어떻게 해결할까요? 지금부터 시작합니다. 1. 왜 나왔는가? 이 에러는 visual studio에서 주로 발생하는 에러입니다. visual studio 2005부터, scanf, fopen, strcpy같은 함수를 사용하면 보안에 문제가 있다는 이유로 에러가 떴었죠, 그래도 visual studio 2019 전 ..
C언어 입력받은 글자또는 문자 출력 방법 오늘은 C언어의 문자, 숫자를 입력, 출력을 받는 방법을 알아보겠습니다. 참고로 #define _CRT_SECURE_NO_WARNINGS는 visual studio에서 scanf를 사용하면 에러가 나기에 사용합니다. 만약 visual studio에서 이 소스를 사용하지 않을 것이라면, 이 부분을 제거하셔도 문제가 없습니다. 이와 관련되 자세한 내용은 다음주에 다루겠습니다. 1. 숫자를 출력 입력 : 아무 숫자(정수) + enter 출력 : "input [입력한 숫자] " 를 출력 종료 : -1이 입력되면 프로그램을 종료 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int a; printf("program start\n"); while (1) { ..
C언어 " 큰따음표와 ' 작은 따음표의 차이점 안녕하세요 오늘은 간단하게 C언어에서 큰따음표와 작음따음표가 갖는 차이점을 다루어보도록 하겠습니다. C언어의 큰따음표와 작은따음표의 가장 큰 차이는 "문자"와 "문자열"의 차이에 있습니다. 구체적으로 한번 알아볼까요? C언어에서, 'a'라는 문자는 한글에서의 가와 비슷합니다. 한글 문자를 나열한 가, 나, 다...에서의 가와같이, C언어세어 'a'는 단순 알파벳 문자, 기호의 의미를 지닙니다. (추가적으로 'a'는 그 기호가 뜻하는 숫자(아스키 코드)인 97과 의미가 같습니다.) C언어에서, "a"라는 문자열은, 문장과 비슷한 의미를 지닙니다. 생활에서 사용하는 문장과 다르게 실질적 의미를 지니지 않을 수는 있어도, 문자가 여러개 합쳐져 만들어진 문자열이라는 것입니다. 이 "a"라는 문자열도 'a'라는 ..
C언어 십진법 이진법 변환기 [with source] 안녕하세요 오늘은 십진법 to 이진법 계산기를 만들어 보았습니다. 소스코드 보겠습니다. 소스코드 source.cpp #include #include #include #define PLUS'+' #define MINUS'-' #define BIT64 int main(void) { long long num; bool bin[BIT] = { 0, }; char sign; int i; int UsedMaxBit; bool CDel = true; while (true) { num = 0; memset(bin, 0, sizeof(bin)); CDel = true; UsedMaxBit = 0; printf("num : "); scanf("%lld", &num); if (num == 0) { printf("binary..
C언어 문자 아스키코드로 출력하는 방법 [with source] 읽어주셔서 감사합니다. 오늘은 C언어로 입력받은 문자를 아스키 코드로 출력하는 방법을 알아보도록 하겠습니다. 시작하기 전 C언어를 시작하는 분들 중에, 아래 코드를 다음과 같은 의미로 착각하는 경우가 있습니다 "문자를 아스키코드로 "변환"해 출력하는"프로그램 C언어 내에서 문자는 아스키코드로 절대 변환되지 않습니다. C언어에서 문자는 곧 숫자입니다. 예들들어 'a'는 그 자체로 97을 뜻하고, 실제로 'a' + 4를 숫자로 저장하면 103이라는 숫자가 됩니다. 단지 수를 문자/숫자로 출력하는 방법, 문자/숫자로 입력받는 방법이 존재할 뿐입니다. 단순 말장난이라 생각하실 수도 있고, 이해가 되지 않을 수도 있지만, 그냥 한번 알아가시면 좋을 것 같아서 써봅니다. 코드 간단한 코드입니다. 사용하실 분들은 C..
C언어 이진법 to 십진법 변환기 [with source] *이 글은 작성자의 기존 네어버 블로그에서 발췌되었습니다. 안녕하세요 오늘은 이진법 to 십진법 계산기를 만들어 보았습니다. 소스코드 보겠습니다. 소스코드 source.cpp #include #include #define BIT64 //부호를 제외하고 최대로 인식이 가능한 길이 //즉 입력된 이진법의 길이가 64초과이면 64글자 이상은 인식이 불가능하다 int main(void) { char * Bin = (char *)malloc(sizeof(char) * BIT); int plus, i; long long num; int Used_Max_Bit; printf("include sign : "); scanf("%d", &plus); Bin[0] = getchar(); //버퍼 날리기 if (plus) {..
C언어 세 수중 가장 큰/작은 수 출력방법 [with source] 안녕하십니까! 오늘은 간단하게 세 수중 가장 큰 수, 가장 작은 수를 출력하는 방법에 대해 알아보도록 하겠습니다. C언어를 배울때 많이 사용되는 예제이기도 하지요. max함수의 원리는 다음과 같습니다. 1. 만약 세수 a, b, c가 입력되었을때 2-1. a가 b보다 크다면, a와 c중 큰 것을 반환한다. 2-2. b가 a보다 크다면, b와 c중 큰것을 반환한다. 간단하죠? min함수의 원리도 max함수와 거의 유사합니다. 1. 만약 세 수 a, b, c가 입력되었을때, 2-1. a가 b보다 작다면, a와 c중 작은 것을 반환한다. 2-1. b가 a보다 작다면, b와 c중 작은 것을 반환한다. 그럼 이제 이것에 맞추어 코드를 작성해봅시다. #define _CRT_SECURE_NO_WARNINGS #inc..