코딩/코드업 (C언어 기초 100제)

1073 : [기초-반복실행구조] 0 입력될 때까지 무한 출력하기2(설명)

ll___o___ll 2021. 6. 22. 22:46
반응형

정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.

0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.


if(조건)
{ //코드블록
  ...;
}
구조를 사용하면 주어진 조건이 참인 경우만 코드블록 부분이 실행된다.

비슷하게 어떤 조건에 따라 반복적으로 실행시킬 때에는 if를 while로 바꾸기만 하면

while(조건)
{ //코드블록
  ...;
}

와 같은 방법으로 코드블록의 내용을 반복적으로 수행시킬 수 있다.

수행되는 과정은
1. 먼저 조건을 검사한다.
2. 코드블록을 실행한다.
3. 다시 조건을 검사한다.
4. 코드블록을 실행한다.
...

와 같이 주어진 조건이 참인 동안 계속적으로 반복 실행한다.
이렇게 while(조건){...}을 이용하면 goto 명령을 사용하지 않고
반복을 만들어낼 수 있다.

예시
int n=1; //처음 조건 검사를 넘어가기 위해 0이 아닌 값 입력
while(n!=0)
{
  scanf("%d", &n);
  printf("%d", n);
}

입력

정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.


출력

입력된 정수를 줄을 바꿔 하나씩 출력하는데, 0이 입력되면 종료한다.
(0은 출력하지 않는다.)

 

 

 

입력 예시 

7 4 2 3 0 1 5 6 9 10 8

 

 

 

출력 예시

7

4

2

3


<내 풀이>

 

#include <stdio.h>



int main(){



    int n=-1;                                               // n이 0이 아니어야 한다는 표현... 0만 아닌 다른 어떤 수도 가능

    

    while(n!=0){

        scanf("%d",&n);

        if(n!=0){

            printf("%d\n",n);

        }

        else break;

        }

    return 0;

}
반응형