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
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>
#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() 함수