본문 바로가기

C언어/과제

C언어 과제 09

 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 dec=0;
  
int oct=0;
  
int count;
  
int mok;
  
int nmg;
  
  fprintf(stdout, 
"10진수\t8진수\n");
  fprintf(stdout, 
"=============\n");
  
  
for(count=016>=count; count++)
  {
    mok
=count/8;
    nmg
=count-(mok*8);
    oct
=(mok*10)+nmg;
    fprintf(stdout, 
"  %2d\t %2d\n", dec++, oct);
  }
  
return 0;
}

 

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

출력)    정수 입력 : 325

           자릿수   : 3

 

정수 입력 : 4589

           자릿수   : 4

 

정수 입력 : -1

           프로그램 종료!

#include <stdio.h>

int main()
{

  
int inum;
  
int inum2;
  
int cnt;
  
  
while(1)
  {
    fprintf(stdout, 
"정수를 입력 : ");
    fscanf(stdin, 
"%d"&inum);
    inum2
=inum;
    
if(0!=inum2)
    {
      
for(cnt=01<inum; cnt++)
      {
        inum/
=10;
      }
    }
    
else
    {
      fprintf(stdout, 
"0입력하지말고 다시 입력해!!\n");
      
continue;
    }
    
if(-1==inum2)
    {
      fprintf(stdout, 
"프로그램 종료!\n");
      
break;
    }
    fprintf(stdout, 
"정수\t: %d\n", inum2);
    fprintf(stdout, 
"자릿수\t: %d\n", cnt);
  }
  
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;
  
int count;
  
int iNum,iNum2=1;
  
int bit=0;

  fprintf(stdout, 
"문자를 입력하세요 : ");
  fscanf(stdin, 
"%c"&ch);
    
for(count=18>=count; count++)  // 켜진 비트 검출문
      {
        iNum
=(iNum2&ch)/(iNum2);// 0~7번비트 켜져있나 확인
        
if(iNum==1)        // 켜진경우 실행
        {
          bit++;        
// 비트 카운터
        }
        iNum2
=1<<count;      // 0~7번비트까지 쉬프트
      }
  fprintf(stdout, 
"켜진 비트의 갯수: %d\n", bit);
  fprintf(stdout, 
"입력된 문자 \t: %d\n", ch);
  
return 0;
}

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

C언어 과제 11  (0) 2010.10.27
C언어 과제 10  (0) 2010.10.27
C언어 과제 08  (0) 2010.10.25
C언어 도전과제 01 (소수와 합성수를 판단하여라)  (0) 2010.10.20
C언어 과제 07  (0) 2010.10.14