본문 바로가기

C언어/C과제

C과제 9

1. 10진수 0부터 16까지의 정수를 8진수로 출력합니다. 출력에는 10진수와 8진수의 대응관계를 반드시 포함시킵니다. printf함수의 %o플래그를 사용할 수 없습니다.

출력)  10진수  8진수

-------------------

            0        0

            1        1

            2        2

            3        3

            4        4

            5        5

            6        6

            7        7

            8        10

            9        11

           10       12

           11       13

           12       14

           13       15

           14       16

           15       17

           16       20

 

 

#include <stdio.h>

int main()
{
  int i,inum1,inum2;

  
  printf("10진수 8진수\n");
  for(i=0;i<=16;++i)
  {
    
    
    if(i<8)
      printf("%2d      %d\n",i,i);
    else if(i>7)
    {
      inum1=i/8;
      inum2=i%8;
      printf("%2d      %d%d\n",i,inum1,inum2);
    }  
  }
  return 0;
}

2. 정수의 자릿수를 구하세요.

출력)    정수 입력 : 325

           자릿수   : 3

 

정수 입력 : 4589

           자릿수   : 4

 

정수 입력 : -1

           프로그램 종료!

 

 

#include <stdio.h>

int main()
{
  unsigned int A,B,C,D;
  D=0;
  
  for(;;)
  {  
    printf("정수 입력 :  ");
    scanf("%d",&B);
    
    if(B==-1)
    {  
      printf("프로그램 종료!\n");
      break;
    }
    for(A=1;A<=B;A=A*10)
    {  
      C=B/A;
      if(C!=0)
      {    
        ++D;
      }
      
    }
    printf("자릿수   :%d자리\n",D);
    D=0;
  
  }
  return 0;
}  
      
      
    

3. 1바이트는 8개의 비트로 이루어집니다. 255 8개 비트 전체가 1인 경우이고, 1은 최하위 비트만 1인 경우입니다. 문자 ch의 켜진 비트 개수는 몇 개입니까? 켜진 비트는 1로 설정된 비트의 다른 표현입니다.

대문자 ‘A’의 값은 65이고 6번째와 1번째 비트가 켜져 있습니다.

출력)    문자 입력 : A

           켜진 비트의 개수 : 2

           : 65

 

#include <stdio.h>

int main()
{
  char ch = 0, i = 0, bit_value = 0;
  int count1=0;
  //int count2=0
    
  printf("문자 입력: ");
  scanf("%c"&ch);
    
    
    for(i = 7; i >= 0; --i)
    {    
          bit_value=ch & (0x80 >> i);
          if(bit_value != 0
          ++count1;
  }   
  printf("켜진비트의 개수: %d\n",count1);
  printf("값: %d\n",ch);
  printf("\n");
  return 0;
}
  

 

 

'C언어 > C과제' 카테고리의 다른 글

#Pragma 지시자  (0) 2010.11.22
C과제 10  (0) 2010.10.26
C 연습문제  (0) 2010.10.22
C도전문제 1  (0) 2010.10.20
C과제 8  (1) 2010.10.19