소프트웨어/C

[2004년 중간 3번] 평균값 개산 - 난수 발생

카켈 2007. 2. 7. 05:56


1. 목적
  - 무작위 실수를 만들어 원하는 계산을 할줄 안다.

2. 문제 (점수 : 30점)
  - 임의의 실수 10개를 생성하여 평균을 계산하는 프로그램
  - 생성된 실수는 -10.0 ~ 10.0 사이의 값이어야 한다.
  - 프로그램 실행 후 모습

생성된 임의의 실수들 :
0.7 -7.1 8.6 8.8 10.6 10.3 4.9 1.5 -3.2 0.5
평균 : 3.560000
Press any key to continue

3. 이해
  - 원하는 범위 내의 무작위로 만들어진 숫자를 담을수 있는가?
  - 평균을 낼수 있는가?

4. 코드

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

int main()
{
 int i = 0;
 float in[10] = {0};
 float total = 0;
 
 srand((unsigned)time(NULL));
 rand();

 puts("생성된 임의의 실수들 : ");
 while(i<10)
 {
  in[i] = ((rand() % 200) - 100.0f) / 10;
  total += in[i];
  printf("%0.1f ",in[i]);
  i++;

 }

 printf("\n평균 : %f\n",total / 10);
 
 return 0;

5. 해설
  - 최소 -10.0 최대 10.0 을 만들기 위해 32767 % 200 => (0.0 ~ 200.0) / 10 => 0.0 ~ 20.0 - 10 =>
   -10 ~ 10.0 까지 나오는 난수 알고리듬을 작성합니다.
  - 짧은 코드를 위해 만들어진 난수는 이내 저장되며 합계에 저장시킵니다.

6. 참고
  - 내부 검색 : rand() 함수