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