출처 : 반크_독도포스터
참고풀이]
//Dev-C++ 5.11로 작업함.
#include <stdio.h>
#include <windows.h> //Sleep()
#include <conio.h> //getch()
#include <string.h> //strcmp(), strlen()
#include <stdlib.h> //srand(), rand(), system()
#include <time.h> //time()
void gotoxy(int x, int y)
{
COORD Pos={x,y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),Pos);
}
int main(void) {
char solution[3][100] ={
"meet at midnight",
"new year's greeting",
"happy birthday"}; // 정답이 들어 있는 문자 배열
char hint[3][100]={
"한밤중에 만나다",
"새해인사",
"생일축하"};
char answer[100] ="";// 현재까지 사용자가 맞춘 문자열
char ch;
int i;
int key;
//실행할 때마다 무작위 수를 발생하도록 초기값을 설정.
srand(time(NULL));
key=rand()%3;
for(i=0;i<strlen(solution[key]);i++)
if(solution[key][i]==' ')
answer[i]=' ';
else
answer[i]='_';
gotoxy(15,0); printf("행맨으로 영어 숙어 공부하기]");
gotoxy(17,1); printf("(힌트 : %s)",hint[key]);
while (1) {
gotoxy(10,3); printf("문자열을 입력하시오: %s", answer);
gotoxy(10,4); printf("글자를 추측하시오: ");
ch = getch();
// 사용자가 입력한 문자를 answer[]에 넣어서 정답을 비교한다.
for (i = 0; solution[key][i] != '\0'; i++)
if (solution[key][i] == ch) answer[i] = ch; // 사용자가 맞추었으면 글자를 보이게 한다.
if (strcmp(solution[key], answer) == 0) break; // 정답과 일치하는지를 검사
}
gotoxy(10,3); printf("문자열을 입력하시오: %s", answer);
gotoxy(15,7);printf("수고하셨습니다.\n");
return 0;
}
참고풀이 결과]
시작)
단어 맞추기)
종료)
대한민국의 아름다운 영토, 독도의 가을
'프로그램 > C언어 1000제' 카테고리의 다른 글
C언어 87제] C언어 콘서트 CHAPTER 10 Programming 2 문자열 대문자로 출력하기 p413 (0) | 2022.01.02 |
---|---|
C언어 86제] C언어 콘서트 CHAPTER 10 Programming 1 문자열 중 영문자의 빈도수를 구하기 p413 (0) | 2022.01.01 |
C언어 84제] C언어 콘서트 CHAPTER 10 p400 도전문제 2 빈칸문자열 자동 생성하기 (0) | 2022.01.01 |
C언어 83제] C언어 콘서트 CHAPTER 10 p400 도전문제 1 프로그램 업그래이드 (0) | 2022.01.01 |
C언어 82제] C언어 콘서트 CHAPTER 10 p396 도전문제 3 앞뒤 빈칸문자 삭제하기 (0) | 2021.12.30 |
댓글