본문 바로가기

문제풀기113

1073. 0 입력될 때까지 무한 출력하기2 정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. 0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자. if(조건) { //코드블록 ...; } 구조를 사용하면 주어진 조건이 참인 경우만 코드블록 부분이 실행된다. 비슷하게 어떤 조건에 따라 반복적으로 실행시킬 때에는 if를 while로 바꾸기만 하면 while(조건) { //코드블록 ...; } 와 같은 방법으로 코드블록의 내용을 반복적으로 수행시킬 수 있다. 수행되는 과정은 1. 먼저 조건을 검사한다. 2. 코드블록을 실행한다. 3. 다시 조건을 검사한다. 4. 코드블록을 실행한다. ... 와 같이 주어진 조건이 참인 동안 계속적으로 반복 실행한다. 이렇게 while(조건){...}을.. 2023. 4. 17.
1072. 정수 입력받아 계속 출력하기 n개의 정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다. n개의 입력된 정수를 순서대로 출력해보자. while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다. 예시 int n, m; scanf("%d", &n); reget: //레이블은 콜론( : ) 으로 끝난다. scanf("%d", &m); printf("%d\n", m); if(n-- != 0) goto reget; //reget:으로 이동, n의 값 1만큼 감소 입력 첫 줄에 정수의 개수 n이 입력되고, 두 번째 줄에 n개의 정수가 공백을 두고 입력된다. -2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다. 출력 n개의 정수를 한.. 2023. 4. 16.
1071. 0 입력될 때까지 무한 출력하기1 정수가 순서대로 입력된다. -2147483648 ~ +2147483647, 단 개수는 알 수 없다. 0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자. while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다. 참고 goto 명령문을 사용하면 간단한 반복 실행을 만들 수 있다. 반복 실행 부분을 빠져나오기 위해(즉 무한 반복을 방지하기 위해) 반복 실행 되는 도중에 조건을 검사해야 한다. goto 이름: 이 명령은 이름: 이 작성된 곳으로 프로그램의 실행 흐름을 바꾸어 준다. "이름:" 과 같이 콜론(:)이 붙어있는 부분을 이름표(label, 레이블)라고 한다. 레이블은 특별한 선언 없이 사용할 수 있으며 언더바(_)나 영문자로 시작하면 된다. 레이블은 한 .. 2023. 4. 15.
1070. 월 입력 받아 계절 출력하기 월이 입력될 때 계절 이름이 출력되도록 해보자. 예 월 : 계절 이름 12, 1, 2 : winter 3, 4, 5 : spring 6, 7, 8 : summer 9, 10, 11 : fall 참고 swtich( ).. case ... break; 제어문에서 break;를 제거하면 멈추지 않고 다음 명령이 실행되는 특성을 이용할 수 있다. switch(a) { ... case 3: case 4: case 5: printf("spring"); break; ... } 로 작성하면, 3, 4, 5가 입력되었을 때 모두 "spring"이 출력된다. ** 12, 1, 2 는 어떻게 처리해야 할지 여러 가지로 생각해 보아야 한다. 입력 월을 의미하는 1개의 정수가 입력된다.(1 ~ 12) 출력 계절 이름을 출력한다.. 2023. 4. 14.
1069. 평가 입력 받아 다르게 출력하기 평가를 문자(A, B, C, D, ...)로 입력받아 내용을 다르게 출력해보자. 평가 내용 평가 : 내용 A : best!!! B : good!! C : run! D : slowly~ 나머지 문자들 : what? 참고 조건/선택문을 복합적으로 구성해 출력할 수도 있지만, switch(정수값) { case 'A': //문자 'A'가 정수값 65('A'의 아스키 값)로 저장되기 때문에 가능하다. ...; break; case 'B': ...; break; case 'C': ...; break; default: ...; } 위와 같은 switch( ) ... case... break; 제어문을 사용할 수 있다. ** break; 를 사용하지 않으면 이후의 명령들도 계속 실행된다. default: 는 제시된 c.. 2023. 4. 13.
1068. 정수 1개 입력 받아 평가 출력하기 점수(정수, 0 ~ 100)를 입력받아 평가를 출력해보자. 평가 기준 점수 범위 : 평가 90 ~ 100 : A 70 ~ 89 : B 40 ~ 69 : C 0 ~ 39 : D 로 평가되어야 한다. 참고 여러 조건들을 순서대로 비교하면서 처리하기 위해서 조건문을 중첩할 수 있다. 만약, 순서대로 검사하고 실행하기 위해 아래와 같이 중첩 시킨다면, if(조건1) { ... } else { if(조건2) { ... } else { ... } } 중첩된 구조는 논리적으로 1단위이기 때문에 코드블록 기호를 생략하면 아래와 같은 구조로 다시 표현될 수 있다. if(조건1) { ... ; } else if(조건2) { ... ; } else { ...; } 이와 같이 조건을 계속 붙여나가면.. if(조건1) { .... 2023. 4. 12.