도전프밍_3
배열&포인터
<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 |
댓글