Search

C언어 과제 2

pow.c

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <math.h> int main(void) { int num, result; // 입력 변수 num, 결과값 저장 변수 result 선언 int cnt = 0; // 자릿수 count 할 변수 선언 double exp = 0; // pow 파라미터 변수 exp 선언 printf("숫자를 입력하시오 : "); scanf("%d", &num); // scanf 사용하여 입력 while (num > 0) { result = num % 10; // %10 하여 나머지 (1의 자리) result에 저장 printf("%d 자리 숫자 : %d\n", (int)round(pow(10, exp)), result); // pow 활용하여 1, 10, 100, 1000, 10000 자리 표현 (exp 가 증가하면서 제곱실행) // 나머지 값 (result) 출력 num /= 10; // 10으로 나누어 차수 내림 (소수점 이하 버림) exp++; // pow 지수 증가 cnt++; // count 증가 } printf("입력하신 숫자는 %d자리 입니다\n", cnt); // 증가된 count 값 출력하여 몇 자리인지 출력 return 0; }
C
복사

결과

RSP.c

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> int main(void) { int com, usr=1; // 컴퓨터 값 com, 유저 값 usr 변수 선언 int result; // 대결 결과 값 저장할 result 선언 srand((unsigned int)time(NULL)); // 현재 시간을 시드로 사용하여 난수 생성기 초기화 /* 시간에는 - 가 없기 때문에 unsigned int 를 하지 않더라도 양수가 부여 되겠지만, 코드 안정성을 위해 선언 time의 파라미터를 NULL로 하여 현재 시간을 초단위로 반환 */ com = rand() % 3; // com 에 0,1,2 중 랜덤하게 데이터 부여 printf("가위 바위 보 게임을 시작합니다...\n가위(1), 바위(2), 보(3) 중 선택 (숫자만 입력): "); scanf("%d", &usr); // 유저 데이터 입력 while (usr < 1 || usr > 3) { printf("입력을 잘못 하셨습니다 게임을 다시 시작합니다\n"); printf("가위 바위 보 게임을 시작합니다...\n가위(1), 바위(2), 보(3) 중 선택 (숫자만 입력): "); scanf("%d", &usr); } switch (com - usr) // com - usr 로 대결 결과 판단, 값에 따라 결과 출력 { case -2: printf("졌습니다!"); break; case -1: printf("이겼습니다!"); break; case 0: printf("비겼습니다!"); break; case 1: printf("졌습니다!"); break; case 2: printf("이겼습니다!"); break; } return 0; }
C
복사

결과

지뢰 찾기 게임 명세 및 분석

보드 생성
지뢰 무작위 배치 (플레이어는 알 수 없음)
지뢰 개수는 플레이어가 정할 수 있음
선택한 칸이 지뢰인 경우 게임 종료
선택한 칸이 지뢰가 아닌 경우, 주변에 몇 개의 지뢰가 있는지 표시
선택한 칸 주변에 지뢰가 없다면 해캉 칸 주변 (3 * 3) 의 코든 칸이 자동으로 열림
안전한 모든 칸을 선택한 경우 게임이 종료 (승리)