Hangman 정답이 되는 글자를 찾는 프로그램을 가지고 왔습니다.
5번의 시도안에 맞춘다면 프로그램은 맞추는대로 종료가되고,
총 5번의 시도안에 맞추지 못한다면 프로그램은 종료됩니다.
물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때
혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!
힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고
답안을 확인해보세요
입력 예시 출력 예시
cat
a _ a _ //a를 맞췄더니 a가 나타납니다.
b _ a _ //없는 글자 b를 입력했더니 그대로 상태를 유지합니다.
c c a _ //c를 맞췄더니 c가 나타납니다.
t c a t // c a t모두 맞추자 프로그램은 종료됩니다.
dog
a _ _ _ //없는 글자 a를 입력했더니 그대로 상태를 유지합니다.
b _ _ _ //없는 글자 b를 입력했더니 그대로 상태를 유지합니다.
c _ _ _ //없는 글자 c를 입력했더니 그대로 상태를 유지합니다.
d d _ _ //d를 맞췄더니 d가 나타납니다.
e d _ _ //없는 글자 e를 입력했더니 그대로 상태를 유지하고 5번의 기회가 끝나 프로그램을 종료합니다.
#include<stdio.h>
#include <string.h>
#include<stdlib.h>
int main(){
char str[3]; //정답글자(맞춰야하는글자)
char compare[3] = {'_', '_', '_'}; // 맞추면 _ 가 맞춘 글자로 바뀜
char input; //입력
int over=0; //3글자를 맞추면 프로그램 종료
gets(str); //정답입력
for(int i=0; i < 5;i++){ //5번의 기회
//글자를 하나씩 입력
getchar();
for( int j = 0 ;j < 3; j++){
if( ){
//글자가 맞는다면
//횟수를 늘림
//맞는 칸에 _ 대신 글자를 입력
//글자를 출력
}else{
//글자가 맞는게 아니라면 출력
}
if(over==3){
//종료
exit(0);
}
}
printf("\n");
}
}
입력예시 출력예시
cat
a _ a _ //a 를 맞췄더니 a가 나타납니다.
b _ a _ //없는 글자 b를 입력했더니 그대로 상태를 유지합니다.
c c a _ //c를 맞췄더니 c가 나타납니다.
t c a t // c a t모두 맞추자 프로그램은 종료됩니다.
dog
a _ _ _ //없는 글자 a를 입력했더니 그대로 상태를 유지합니다.
b _ _ _ //없는 글자 b를 입력했더니 그대로 상태를 유지합니다.
c _ _ _ //없는 글자 c를 입력했더니 그대로 상태를 유지합니다.
d d _ _ //d를 맞췄더니 d가 나타납니다.
e d _ _ //없는 글자 e를 입력했더니 그대로 상태를 유지하고 5번의 기회가 끝나 프로그램을 종료합니다.
#include<stdio.h>
#include <string.h>
#include<stdlib.h>
int main(){
char str[3]; //정답글자(맞춰야하는글자)
char compare[3] = {'_', '_', '_'}; //맞추면 _가 맞춘 글자로 바뀜
char input; //입력
int over=0; //3글자를 맞추면 프로그램 종료 카운트
gets(str); //정답입력(ex dog)
for(int i=0; i < 5;i++){ //총5번의 기회
scanf("%c", &input); //글자를 하나씩 입력
getchar();
for( int j = 0 ;j < 3; j++){
if(input == str[j]){ //글자가 맞는다면
over++; //횟수를늘림
compare[j] = input; //맞는 칸에 _대신 글자를 입력(ex. _ o _)
printf("%c ",compare[j]); //글자를 출력
}else{
printf("%c ",compare[j]); //글자가 맞는게 아니라면 출력
}
if(over==3){
exit(0); //3글자를 모두 맞췄다면 프로그램 종료
}
}
printf("\n");
}
}
더 많은 C언어 글이 궁금하다면?
https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4
'C언어' 카테고리의 다른 글
[C언어] 더블더블 (0) | 2022.03.16 |
---|---|
[C언어] 거꾸로 출력해 보아요 (0) | 2022.03.15 |
[C언어] 두 행렬을 입력받아 덧셈과 뺄셈 연산의 결과를 출력하세요 행렬의 덧셈과 뺄셈의 연산이 불가능한 경우, "계산 오류"를 출력하세요. (0) | 2020.05.21 |
[C언어] 사용자로부터 최대 3개의 메뉴를 입력 받은 메뉴와 가격 총금액을 출력하시오 (0) | 2020.05.18 |
[C언어] 3개의 정수 a,b,c를 받아서 c가 a,b의 사칙연산에 의한 값이면 연산기호를 출력한다. (0) | 2020.05.18 |
댓글