본문 바로가기
언어/C

[C] 도전프밍_3 (&난수)

by merona99 2018. 11. 15.
반응형

도전프밍_3

배열&포인터 



도전프밍_3.c



<1번>

Q. 길이가 4x4인 2차월 배열 선언후 배열의 요소들을 오른쪽 방향으로 90도씩 이동시켜 

    그 결과를 출력


<소스코드>


<결과>

//포인터를 사용해야 하나 고민좀 했는데 그냥 4x4배열 하나를 더만들어서 대입해주는 식으로 했다.

근데 문제의도는 포인터 배열 사용하라는거 같다ㅎㅎ..

쓰려다가 말았는데 아직은 포인터가 익숙치 않아서 그런거같다.



<2번>

Q. 숫자 n을 입력받아 n x n 길이에 해당하는 달팽이 배열을 만들고 출력


<소스코드>


<결과>

//어려웠다. 가로세로 부분 반복문에서 한참 헤맸다..



<3번>

Q. 0 이상 99 이하의 난수를 총 5개 생성하는 프로그램을 작성


<소스코드>


<결과>

//근데 이거 난수가 아니고 일정한 규칙이 있는거 같다.

랜덤이면 숫자가 바뀌어야 하는데 바뀌지 않는다 ㅋㅋ



<4번>

Q. 두개의 주사위를 던졌을 때의 결과를 출력 (예측이 불가능 해야함)


<소스코드>


3번의 문제에서 난수의 고정된 값문제를 해결하기 위해 srand()를 사용

이를 사용하기 위해서는 <time.h>를 선언 해주어야 함

srand()함수로 rand()에 시드값을 넣어줘야 함.


항상 다르기 위해서는 현재 컴퓨터시간을 사용하면 된다.

p114=> srand((int)time(NULL)); 가 현재 시각을 시드값으로 사용하는 부분이다.



<0~n-1 사이의 난수 범위지정>


rand() % n        //n은 정수


ex1)

rand() % 3 -> 0~2 사이의 난수 발생

ex2)

rand() %3 +1 -> 1~3 사이의 난수 발생


<결과>


<5번>

Q. '사용자-입력, 컴퓨터-난수생성' 을 통해 가위바위보 게임을 만들고 사용자가 질 때까지 계속되고, 

    이후에 게임의 결과를 출력


<소스코드>

컴퓨터는 위의 4번과 같이 난수를 설정하고 switch문을 사용해 경우의 수를 나눠줌


<결과>



<6번>

Q. 숫자 맞추기 게임 (0~9의 중 서로다른 3개를 고르고 이의 값이 컴퓨터값과 같아야함.)


<소스코드>

if문에서 strike와 ball부분의 중복문제가 있는듯도 하다.


<결과>

우선 결과는 뜬다..

반응형

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

[C] 구조체  (0) 2018.12.04
[C] 문자 & 문자열 관련 함수  (0) 2018.11.15
[C] 함수 포인터와 void 포인터  (0) 2018.11.13
[C] 구조체 (C언어정석_9)  (0) 2018.11.12
[C] 다차원 배열과 포인터의 관계  (0) 2018.11.11

댓글