티스토리 뷰

1071.

입력 된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자.

비트단위(bitwise)연산자 ~ 를 붙이면 된다.(~ : tilde, 틸드라고 읽는다.)정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 개수는 알 수 없다.

0이 아니면 입력된 정수를 출력하고, 0이 입력되면 출력을 중단해보자.
while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다.

 

Insight

✔  "이름:" 과 같이 콜론(:)이 붙어있는 부분을 이름표(label, 레이블)라고 한다.
✔  레이블은 특별한 선언 없이 사용할 수 있으며 언더바(_)나 영문자로 시작하면 된다.
✔  레이블은 한 단어처럼 공백없이 모두 붙여 써야 한다.

✔  switch( ) ... case ... : ... break; 에서 case ... : 도 일종의 레이블이라고 생각할 수 있다.

✔  go to 레이블 : 명령을 사용하면 반복되는 부분을 여러 개 자유롭게 만들 수 있다.
✔  go to 명령은 반복 실행을 만들어낼 수 있는 가장 간단한 명령.

✔  하지만 복잡하게(스파게티 코드) 사용하는 경우, 이해가 어렵고 오류가 생기기 쉽다.

 

 

입력. 7 4 2 3 0 1 5 6 9 10 8
출력.
7
4
2
3
#include <stdio.h>

int main(void)
{
  int n;
  
  repeat : 
  scanf("%d", &n);
  
  if(n!=0) {
    printf("%d\n",n);    	
  }else{
    goto end;
  }

  goto repeat;
  
  end:

  return 0;
}

 

1072.

n개의 정수가 순서대로 입력된다.
-2147483648 ~ +2147483647, 단 n의 최대 개수는 알 수 없다.
n개의 입력된 정수를 순서대로 출력해보자.


while( ), for( ), do~while( ) 등의 반복문을 사용할 수 없다.

 

입력.
5
1 2 3 4 5
출력. 
1
2
3
4
5
#include <stdio.h>

int main(void)
{
  int cnt, num, now=0;
  scanf("%d", &cnt);
  
  repeat : 
  scanf("%d", &num);
  
  if(now<cnt) {
    printf("%d\n", num);    	
  }else{
    goto end;
  }
  now++;
  goto repeat;
  
  end:

  return 0;
}

 

1073. 

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

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

 

입력. 7 4 2 3 0 1 5 6 9 10 8
출력.
7
4
2
3
#include <stdio.h>

int main(void)
{
  int i=1, n;
  while(i){
    scanf("%d", &n);
    if(n!=0){
      printf("%d\n",n);
    }else{
      i=0;
    }
  }
}

 

1074. 

정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.

입력받은 정수가 1이 될 때까지 while문을 사용해 출력한다.

 

입력. 5
출력. 
5
4
3
2
1
#include <stdio.h>

int main(void){
    int n;
    scanf("%d", &n);
    while(n!=0){
        printf("%d\n",n);
        n--;
    }
    return 0;
}

 

1075.

정수(1 ~ 100) 1개가 입력되었을 때 카운트다운을 출력해보자.

입력받은 정수-1 값이 0이 될 때까지 while문을 사용해 출력한다.

 

입력. 5
출력. 
4
3
2
1
0
#include <stdio.h>

int main(void){
    int n;
    scanf("%d", &n);
    while(n!=0){
        printf("%d\n",--n);
    }
    return 0;
}

 

1076.

영문자(a ~ z) 1개가 입력되었을 때 그 문자까지의 알파벳을 순서대로 do-while문을 사용해 출력하자.

 

입력. f
출력.
a b c d e f
#include <stdio.h>

int main(void)
{
  char c;
  char a='a';
  scanf("%c", &c);

  do{
  	printf("%c ", a);
  	a++;
  }while(a<=c);

  return 0;
}

 

1077.

정수(0 ~ 100) 1개를 입력받아 0부터 그 수까지 순서대로 for문을 사용해 출력해보자. 

 

입력. 4
출력. 
0
1
2
3
4
#include <stdio.h>

int main(void)
{
  int n;
  scanf("%d", &n);
  for(int i=0; i<n+1; i++){
  	printf("%d\n", i);
  }
  return 0;
}

 

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday