Programming Language/C Language

[C] Study mini project_1주차: 조건문

gapsoo 2023. 7. 10. 19:59

 

 

 


[1] 문제

 

문제 설명

“사용자가 신호등의 색깔을 입력하면 ”정지“, ”주의“, ”진행“과 같은 문장을 출력하는 프로그램을 작성해보자.

 

 

입출력 예시

 

 

 


[2] 정답

 

코드

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void)
{
    char x, y, g, r;
 
    printf("신호등 색깔 입력(r,g,y): ");
    scanf("%c"&x);
 
    if (x == 'r')
    {
        printf("정지!");
    }
    else if (x == 'g')
    {
        printf("출발!");
    }
    else if (x == 'y')
    {
        printf("대기");
    }
    else
    {
        printf("잘못된 입력입니다");
    }
    return 0;
}
cs

 

콘솔 창

 

r 을 입력했을 때
g 를 입력했을 때
y를 입력했을 때
r, g, y 이외의 값을 입력했을 때

 

 

 


[3] 해석

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main(void)
{
    char x; // 입력받은 신호등 색깔 변수
    printf("신호등 색깔 입력(r, g, y): ");
    scanf("%c"&x);
 
    if (x == 'r'// 입력이 'r'인 경우
    {
        printf("정지!"); // 정지 메시지 출력
    }
    else if (x == 'g'// 입력이 'g'인 경우
    {
        printf("출발!"); // 출발 메시지 출력
    }
    else if (x == 'y'// 입력이 'y'인 경우
    {
        printf("대기"); // 대기 메시지 출력
    }
    else // 'r', 'g', 'y' 이외의 입력인 경우
    {
        printf("잘못된 입력입니다"); // 잘못된 입력 메시지 출력
    }
 
    return 0;
}
cs

 

 

 


[4] 풀이 및 오답

 
✔️ r, g, y 를 선언할 때, int 를 사용해서 틀렸다. → char 를 사용하는 것으로 고쳐주었다.
 
✔️ 입력을 받을 때, scanf("%d", &x); 를 사용하였다. → scanf("%c", &x); 로 고쳐주었다.
 
✔️ 조건문에서 식에 문자를 대입할 때는 ''를 사용해주어야 한다.
 
 

 


[5] 추가 학습

이 후에 조건문, 반복문, 자료형, 변수형을 공부한 뒤 링크를 첨부하겠다.

 

 

 


[6] 느낀 점

 

복습을 하게 되어서 정말 다행이다!