본문 바로가기

c언어93

[C/C++] 연속된 숫자 한자리씩 나누어 입력 받기 방법 1. scanf 이용하여 나누어 받기 가장 흔한 방법이다. C에서 주로 사용하는 scanf에서는 입력 형식을 지정해주어야한다. 이 때 입력을 "%1d"로 지정하면 된다. 이렇게 지정하면 하나의 정수가 들어오면 입력이 모두 된 것으로 간주하고 다음 입력으로 넘어가게 된다. 같은 방식으로 이중 for문에도 활용할 수 있다. #include using namespace std; int main() { int a[10]; for (int i=0; i 2023. 3. 16.
C언어 # - 주석 달기 주석의 필요성 다른 누군가가 본인의 코드를 보거나, 아니면 본인이더라도 본인의 코드에 대해 직관적으로 이해할 수 있어야 시간을 절약하고 보다 깊은 이해로 효율적인 개발이 가능하다. 여기서 주석의 필요성이 나오게 된다. 현업에서는 함수 내에 주석을 달고, 그리고 다른 누가보더라도 쉽게 이해할 수 있도록 어떻게 주석을 달지 고민한다. 그만큼 중요한 역할을 한다. 블록 단위 주석 주석의 시작과 끝을 명시해서 주석을 다는 방식이다. /*를 시작으로 */로 마무리한다. 아래와 같다. 선언한 int A, intB, int sum이 선언되지 않는다. #include using namespace std; int main() { /* int A, B; int sum; */ } 다만, 아래와 같이 /* */ 사이에 /* .. 2023. 3. 15.
[C/C++] 코드업 1929 : (재귀함수) 우박수 (3n+1) (reverse) 문제풀이 이전 문제와 다르게 재귀 함수 호출이 가장 깊을 때부터 출력하는 문제임. 이렇게 하려면 출력하는 코드를 재귀 함수 호출 뒤에 숨겨두면 됨. 이러면 예를 들어 D(5) => D(16) => D(8) => D(4) => D(2) => D(1)까지 출력 한 후, D(1) 지나면서 1 출력 D(2) 지나면서 2 출력 D(4) 지나면서 4 출력 D(8) 지나면서 8 출력 ...과 같은 형태로 출력될 것이기 때문임. 그래서 출력하는 부분을 재귀 함수 내에서 가장 아래 부분에 배치하면 완료됨. 소스코드 #include #include #include #include using namespace std; int n; void D(int x) { if (x==1){ } else { if (x%2==0) { D(.. 2022. 10. 9.
[C/C++] 코드업 1928 : (재귀함수) 우박수 (3n+1) (basic) 문제풀이 이 문제는 하나 하나 과정마다 출력을 해야하기 때문에, 출력이 재귀 함수로 부르기 전 위치해서 현재 상황을 알려줘야 함. cout 2022. 10. 9.