본문 바로가기

C언어/C과제

C과제 8


1. 난수를 발생하는 rand 함수를 활용하여 주사위를 10번 던졌을 때 주사위 값을 출력하시오.

(주사위 값 : 1~6)

출력)    dice value :  5

           dice value :  2

           dice value :  1

           ...

           dice value :  1

 

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
  int iNum;
  int i;
  
    
  srand(time(NULL));
  
  
  for(i=1;i<=10;++i)
  {
    
    
    iNum=rand()%6+1;

    printf("dice value:%d\n",iNum);
  }
  return 0;
}


2. 초 입력시 분과 초로 변환하는 프로그램을 작성하세요.

출력)    Input Seconds :  100

           Output :  1 min 40 sec

 


#include <stdio.h>

int main()
{
  int iSec;
  int iMin;
  int a;
  printf("input seconds: ");
  scanf("%d",&iSec);
  
  a=iSec%60;
  iMin=iSec/60;

  printf("Output: %d min %d sec\n",iMin,a);
  return 0;
}
  

 

3. 1바이트 범위의 정수를 입력 받은 다음, 각각의 비트가 켜져 있으면 1, 꺼져 있으면 0을 출력하세요.

출력)    정수 입력(0~255) : 127

 

           비트     스위치

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

           0   :     1

           1   :     1

           2   :     1

           3   :     1

           4   :     1

           5   :     1

           6   :     1

           7   :     0

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

 


#include <stdio.h>
 
int main() 

    int a = 0, i = 0, bit_value = 0;
    int j=0
    printf("정수 입력(0~255):  ");
    scanf("%d"&a);
    printf("비트 스위치\n");
    printf("--------\n");
    
    for(i = 7; i >= 0; --i)
    {    
          bit_value = a & (0x80 >> i);
          if(bit_value == 0) printf("%d  :  0\n",7-i);
          else printf("%d  :  1\n",7-i);
    }    
    printf("--------\n");
    printf("\n");
  
}


4. 수직 막대 그래프(histogram)와 관련된 문제입니다. 정수 N1, N2, N3의 길이를 갖는 막대 그래프를 출력하세요(0 < N1, N2, N3 < 10,  막대문자 : *).

출력)    정수(3) 입력 : 7 2 5

           7   2   5

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

           *   *    *

           *   *    *

           *        *

           *       *

           *       *

           *

           *

 

#include <stdio.h>

int  main()
{
  int a,b,c,i,max;

  printf("정수(3개)입력: ");
  scanf("%d %d %d",&a,&b,&c);
  printf("%d  %d  %d\n",a,b,c);
  printf("-------\n");
  if(a-b<0)
  {  
    max=b;
    if(b-c<0)
      max=c;
    else
      max=b;
  }
  else
  {  
    max=a;
    if(a-c<0)
      max=c;
    else
      max=a;
  }  
  for(i=1;i<=max;++i)
  {  
    if(i<=a)
      printf("*  ");
    else
      printf("   ");
  

    
    
    if(i<=b)
      printf("*  ");
    else
      printf("   ");
  
    
    
    if(i<=c)
      printf("*  ");
    else
    {  
      printf("   ");
    }
  printf("\n");
  }
  
  return 0;
}  

  
   

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

C 연습문제  (0) 2010.10.22
C도전문제 1  (0) 2010.10.20
FND 응용실습 예제  (0) 2010.10.19
C과제 7  (0) 2010.10.14
C과제 6  (0) 2010.10.13