본문/내용
1. 문제 정의
-3개의 무작위의 숫자를 출력한다.
-출력한 무작위의 숫자를 대응시키는 숫자와 맞춘다.
2. 문제 분석
-무작위의 숫자를 출력하는데, 난수를 출력하는 srand()와 rand()함수를
사용해야 할 것이다.
-반복할 횟수를 정확히 알기 어려우므로 for문 보다는 while문을 사용하는 것이 더 편할 것이다.
-입력하는 값은 scanf함수를 사용해서 출력되는 난수값과 같은지의 여부를
if값을 통해 확인하고, 같을 때까지 반복문을 확인하도록 해야 할 것이다.
3. 알고리즘
전체적인 흐름도
시작
Main()각 자리 변수 지정
a1,a2,a3,b1,b2,b3
난수 출력
rand,while함수 구현입력한 값과 대응여부 확인하기
scanf, if함수 구현
결과값 출력
printf함수 구현
다이어그램
int a1,a2,a3 :입력하는 변수값
b1,b2,b3: 난수 변수값
s,b : strike, ball
-strike,ball이 모두 0개로 구현될 수 있으므로, 초깃값을 0으로 설정하였다.
-while문에서 세 인수가 같으면 탈출 할 수 없도록 if 문 !〓 같다를 이용하 였다.
-두 번째 while문에서는 맞출 때까지 반복할 수 있도록 if문을 사용하였고,
난수를 지정할 때 변수값 b1,b2,b3를 다른 값으로 지정하도록 하였으므로, a1〓b1이라면 a1!〓b2, a1!〓b3다. 고로 볼 값에 더해질 염려가 없다.
a1〓b2 같은 것은 볼 값을 더하기 위한 거다.
-난수값 출력을 위한 rand(),srand()함수를 이용하였다.
내부 구현
난수 구현에 …
(1) rand함수
(2) time함수
(3) srand함수