본문 바로가기

C Programming/예제 프로그램6

[C Console] 윤년을 고려하여, 내일의 날짜를 출력하는 프로그램 윤년? 윤년은 보통 4년에 한 번씩 찾아옵니다. 2월이 29일까지 있는 날짜라고 생각하시면 될 것 같습니다. 정확한 윤년의 공식은 4로 나누어 떨어지지만, 100으로는 나누어 떨어지지 않는 년도입니다. 1900년도는 4로 나누어 떨어지지만, 100으로도 나누어 떨어지기 때문에 윤년이 아니죠. 룩업테이블(LUT, Look-Up Table) 날짜를 계산하는 API, 라이브러리, 알고리즘은 다양하게 있습니다. 그중에서 룩업테이블을 만들어 프로그램을 작성해보려고 합니다. 순 한글로는 순람표, 대조 테이블이라고도 하는 룩업 테이블(LUT)은 자료를 다른 형태로 변환시키기 위해 컴퓨터 프로그램이 빠른 시간 내에 접근이 가능하도록 만든 자료의 대역으로 볼 수 있습니다. 특정 값을 대응시키는 키와 그에 관한 정보를 갖.. 2019. 6. 3.
[C Console] 시그마 팩토리얼 수식 계산 프로그램(재귀, 이중 for문, 단일 for문) 팩토리얼과 시그마( ∑ ) 팩토리얼(Factorial)은 계승이라고도 하며, 수학에서 특정 자연수의 수보다 작거나 같은 모든 양의 정수의 곱을 의미합니다. ∑(시그마)는 급수라고도 하며, 수열의 모든 항을 더하는 기호입니다. 여기서 C언어로 아래의 수식을 3가지 방법으로 표현해보겠습니다. 팩토리얼 k! = 1 * 2 * 3 * ... * (k-1) * k로 나타낼 수 있습니다. 따라서 위의 구하고자 하는 수식은 아래와 같이 풀어서 쓸 수 있습니다. S(k!) = 1 + (1 * 2) + (1 * 2 * 3) + ... + (1 * 2 * 3 * ... * k-1) + (1 * 2 * 3 * ... * (k-1) * k) 시그마 팩토리얼 알고리즘의 성질 주의하실 점은 자연수의 곱셈이다 보니, 팩토리얼을 계.. 2019. 5. 21.
[C Console] 실수의 소수점 이하 2자리를 정수로 출력하는 프로그램 프로그램은 함수의 집합으로 이루어져 있다고 볼 수 있습니다. C 언어를 처음 배우시거나 다시 익히는 분들을 위해 일반적인 해결 방법(main 함수에 포함)과 어떤 알고리즘으로 동작하는지, 기능을 쉽게 파악하기 위해 함수로 분리한 방법 2가지로 구현하였으니 참고하시면 될 것 같습니다. 실수의 소수점을 추출해서 정수형 변수에 대입하는 프로그램 임의의 실수는 소수점을 가지고 있죠. 12.3456이라는 값은 정수부 12와 소수부 3456으로 나뉜다고 볼 수 있습니다. 이때, 3456 부분을 정수형 변수로 받아서 처리해야 되는 프로그램이 있습니다. 그 알고리즘을 구현해 보려고 합니다. 예제 프로그램이므로, 편의성 소수점 2자리까지만 정수로 추출하는 것으로 하겠습니다. 12.3456을 예로 들면, 34라는 정수 값.. 2019. 5. 18.
[C Console] 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 변환하는 프로그램 문자열을 입력받아 대문자는 소문자로, 소문자는 대문자로 반환하는 프로그램 예제를 작성해보도록 하겠습니다. 영어 알파벳에 대한 부분만 고려하기로 해요. 다음과 같은 함수가 사용됩니다. - 문자열을 입력받는 함수 : #include gets_s(); - 문자열의 문자 개수를 반환하는 함수 : #include strlen(); 참고로, Windows 기준으로 gets_s() 함수는 fgets() 함수를 이용하여 만들어졌는데, C11 표준이므로 사용하셔도 문제없을 것 같아요. 영어 알파벳만 고려되었을 때, 아스키코드 값 32를 더해주고 빼주면서 대소문자를 변경할 수 있습니다. 다른 입력값은 그대로 출력하기 위해 조건을 주면 됩니다. '32'라는 값을 모를 때는, 같은 'A' - 'a'처럼 문자의 차를 이용하여 .. 2019. 4. 24.
[C Console]Function Key(확장 키), 특수 키, 일반 문자 입력 코드를 받아오는 프로그램 커서 이동키, 특수키의 입력은 어떻게 정의되어있을까? 키보드의 입력은 스캔 코드로 정의되어있습니다. 지금은 생소한 단어가 되어버린 스캔 코드표 대신에 직접 키를 입력받아 어떤 코드가 입력되는지 알아보는 프로그램을 실행해보는 것도 좋은 방법입니다. 누르는 키의 종류를 판별해서 문자, 확장키 코드를 출력하는 프로그램 아래 코드는 누르는 키의 종류를 판별해서 문자, 확장키 코드를 출력하는 프로그램입니다. conio.h에 정의된 _getch() 입력 함수를 이용해서 기능 키(F1~F12), 확장키, 일반 문자 등 키보드의 입력을 받을 수 있는 프로그램이죠. q를 누르면 q의 코드를 출력하면서 종료하게 되어있습니다. //====================================================.. 2019. 4. 8.
[C Console] 피보나치 수열을 구하는 프로그램 안녕하세요, 프로그래밍 언어 첫 테스트 글을 올려보고 있어요.첫 글로 당첨된 소재는 피보나치 수열의 원리를 가지고 있는 예제 프로그램이에요.예제 코드가 필요하신 분을 결론을 먼저 쓰고, 설명이나 써보는 방식으로 시작을 해보려고 합니다.해야지, 해야지 하다가 블로그 글이 밀려서 다시 죽어가고 있어서 이대로는 안 되겠다는 생각이 들더라고요. 피보나치 수열이란, 바로 앞 두 수를 합한 것이 그 사람 다음 수가 되는 수열을 의미해요. 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144로 진행되는 수열이죠. 규칙 자체는 단순한데, 1+1=2, 2+3=5, 3+5=8 이렇게 진행된다고 보시면 됩니다.C언어 프로그램은 반복문 예제에서 많이 쓰이는 예제인데요, 아래와 같이 간단한 구현해 놓은 예.. 2018. 12. 11.