Artwork
Aschool
Study room
Test
Submission Status
Board
English
keyboard_arrow_down
Korean
English
Sign in
Sign up
Sign in
Sign up
Aschool
Study room
Test
Submission Status
Board
Practice room
Mypage
Korean
English
Sign in
5년 전
[ 이벤트1 ] 개학하기 전 이벤트 정도는 괜찮잖아?
관리자
helloalgo
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> void rules_explanation(void) { printf("==========================================\n"); printf("+> The rules are very simple: <+\n"); printf("+> The one that take the last match win <+\n"); printf("==========================================\n"); } int check_decision(char decision) { return (decision >= 1 && decision <= 3); } int human_turn(int *nb_matches) { unsigned int decision = 0; char buffer[10]; printf("How many matches do you want to take ? (1-3)\n"); fgets(buffer, sizeof(buffer), stdin); decision = strtoul(buffer, NULL, 10); if (!check_decision(decision)) { printf("Are you trying to cheat ??\n"); return 0; } *nb_matches -= decision; printf("You've taken %i match(es)\n", decision); return 1; } void computer_turn(int *nb_matches) { unsigned int decision = 0; if (*nb_matches == 4) { decision = 4; *nb_matches = 0; printf("HUMMM\n"); sleep(1); printf("HUMMMMMMMMMMM\n"); sleep(1); printf("Wait, I got this !\n"); sleep(1); } else if (*nb_matches % 4 == 0) { decision = 1; *nb_matches -= decision; } else { decision = (*nb_matches % 4); *nb_matches -= decision; } printf("The computer has taken %i match(es)\n", decision); } int main(void) { srand(time(NULL)); char pass[80]; FILE *fd; int nb_matches = 10 + rand() % 40; int turn = 0; rules_explanation(); printf("There are %u match(es)\n", nb_matches); while (nb_matches > 0) { if (turn == 0) { if (human_turn(&nb_matches)) turn = 1; else turn = 0; } else { computer_turn(&nb_matches); turn = 0; } printf("there are %i match(es) remaining\n", nb_matches); } if (!turn) printf("You lose !\n"); else { printf("How did you do this ?\n"); printf("password is : Summer is gone!!!\n"); printf("You win !\n"); } return EXIT_SUCCESS; }
10
관리자
helloalgo
5년 전
단 소스코드를 바꾸지 않고 게임 내에서 게임을 이겨야 합니다 :)
0
관리자
helloalgo
5년 전
[HINT] human_turn() 함수를 잘 보세요:)
0
관리자
helloalgo
5년 전
[HINT] char 형 변수의 표현 범위를 잘 생각해보세요 :)
0
관리자
helloalgo
5년 전
Hmmm.... 왜 다 저의 얼굴이 보이는 거죠?
0
관리자
helloalgo
5년 전
답. char형의 표현 범위는 -128 ~ 127 이므로 127 이상의 숫자를 입력하면 0 이하로 떨어뜨릴 수 있겟죠?
0
관리자
helloalgo
5년 전
이러한 오류를 type overflow라고 합니다
0
Manual
관리자
helloalgo
5년 전
관리자
helloalgo
5년 전
관리자
helloalgo
5년 전
관리자
helloalgo
5년 전
관리자
helloalgo
5년 전
관리자
helloalgo
5년 전