본문 바로가기

C/쉽게 풀어쓴 C언어 Express

쉽게 풀어쓴 C언어 Express 6장 Programming

01 키보드에서 하나의 문자를 읽어서 모음과 자음을 구분하는 프로그램을 작성하여 보자. 단 switch 문을 사용한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    char c;
    printf("문자를 입력하시오:");
    scanf("%c"&c);
    switch (c) {
    case 'a':
    case 'e':
    case 'i':
    case 'o':
    case 'u':
        printf("모음입니다.");
        break;
    default:
        printf("자음입니다.");
        break;
    }
    return 0;
}
cs

 

 

 

02 사용자로부터 2개의 정수를 받아서 첫 번째 정수가 두 번째 정수로 나누어 떨어지는 지를 검사하는 프로그램을 작성하라. 즉 약수인지를 검사한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int a, b;
    printf("정수를 입력하시오:");
    scanf("%d"&a);
    printf("정수를 입력하시오:");
    scanf("%d"&b);
 
    if (a % b == 0)
        printf("약수입니다.");
    else
        printf("약수가 아닙니다.");
    return 0;
}
cs

 

 

 

03 사용자로부터 3개의 정수를 읽어 들인 후에 if-else 문을 사용하여 가장 작은 값을 결정하는 프로그램을 작성하라.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int a, b, c;
    int min;
    printf("3개의 정수를 입력하시오:");
    scanf("%d %d %d"&a, &b, &c);
    
    if (a > b)
        min = b;
    else
        min = a;
 
    if (min > c)
        min = c;
 
    printf("제일 작은 정수는 %d입니다.", min);
    return 0;
}
cs

 

 

 

04 컴퓨터와 가위, 바위, 보 게임을 하는 프로그램을 작성하라. 컴퓨터는 사용자에게 알리지 않고 가위, 바위, 보 중에서 임의로 하나를 선택한다. 사용자는 프로그램의 입력 안내 메시지에 따라서, 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
29
30
31
32
33
34
35
36
37
38
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
 
int main() {
    int user, com;
    printf("선택하시오(1:가위 2:바위 3:보)");
    scanf("%d"&user);
 
    com = rand() % 3 + 1;
 
    if (user == 1) {
        if (com == 1)
            printf("컴퓨터:가위, 비겼음");
        else if (com == 2)
            printf("컴퓨터:바위, 컴퓨터가 이겼음");
        else
            printf("컴퓨터:보, 사용자가 이겼음");
    }
    else if (user == 2) {
        if (com == 1)
            printf("컴퓨터:가위, 사용자가 이겼음");
        else if (com == 2)
            printf("컴퓨터:바위, 비겼음");
        else
            printf("컴퓨터:보, 컴퓨터가 이겼음");
        
    }
    else { // user == 3
        if (com == 1)
            printf("컴퓨터:가위, 컴퓨터가 이겼음");
        else if (com == 2)
            printf("컴퓨터:바위, 사용자가 이겼음");
        else
            printf("컴퓨터:보, 비겼음");
    }
    return 0;
}
cs

 

 

 

05 놀이 공원에서 롤러코스터에 타려면 키가 140cm 이상이고 나이가 10살 이상이어야 한다고 가정하자. 사용자에게 키와 나이를 질문한 후에 "타도 좋습니다" 또는 "죄송합니다"를 출력하는 프로그램을 작성하여 보자.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int height, age;
    printf("키를 입력하시오(cm): ");
    scanf("%d"&height);
    printf("나이를 입력하시오:");
    scanf("%d"&age);
 
    if (height >= 140 && age >= 10)
        printf("타도 좋습니다.");
    else
        printf("죄송합니다.");
    return 0;
}
cs

 

 

 

06 사용자로부터 몇 월인지를 정수로 입력받아서 Jan와 같은 영어단어로 출력하는 프로그램을 작성하라.

 

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
29
30
31
32
33
34
35
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int month;
    printf("월번호를 입력하시오: ");
    scanf("%d"&month);
    switch (month) {
    case 1:
        printf("Jan"); break;
    case 2:
        printf("Feb"); break;
    case 3:
        printf("Mar"); break;
    case 4:
        printf("Apr"); break;
    case 5:
        printf("May"); break;
    case 6:
        printf("Jun"); break;
    case 7:
        printf("Jul"); break;
    case 8:
        printf("Aug"); break;
    case 9:
        printf("Sep"); break;
    case 10:
        printf("Oct"); break;
    case 11:
        printf("Nov"); break;
    case 12:
        printf("Dec"); break;
    }
    return 0;
}
cs

 

 

 

07 사용자로부터 키를 입력받아서 표준 체중을 계산한 후에 사용자의 체중과 비교하여 저체중인지, 표준인지, 과체중인지를 판단하는 프로그램을 작성하라. 표준 체중 계산식은 다음을 사용하라.    표준 체중 = (키 - 100) x 0.9

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int weight, height;
    double standard;
    printf("체중과 키를 입력하세요:");
    scanf("%d %d"&height, &weight);
    
    standard = (height - 100* 0.9;
    if (weight < standard)
        printf("저체중입니다.");
    else if (weight == standard)
        printf("표준입니다.");
    else
        printf("과체중입니다.");
    return 0;
}
cs

 

 

 

08 놀이 공원의 자유이용권의 가격을 계산하는 프로그램을 작성하여 보자. 입장료는 다음과 같은 조건으로 결정된다. 현재 시간과 사용자의 나이를 입력받아서 지불하여야 하는 요금을 화면에 출력한다.

구분 대인 소인(3~12세/65세이상)
자유이용권(오후 5시 이전) 34,000 25,000
야간이용권(오후 5시 이후) 10,000

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int time, age, charge;
    printf("현재 시간과 나이를 입력하시오(시간, 나이): ");
    scanf("%d %d"&time, &age);
 
    if (time < 17) {
        if ((age >= 3 && age <= 12|| (age >= 65))
            charge = 25000;
        else
            charge = 34000;
    }
    else {
        charge = 10000;
    }
    printf("요금은 %d입니다.", charge);
    return 0;
}
cs

 

 

 

09 다음과 같이 정의되는 함수의 함수값을 계산하여 보자. 사용자로부터 x값을 입력받아서 함수값을 계산하여 화면에 출력한다. x는 실수이다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    double x;
    printf("x의 값을 입력하시오:");
    scanf("%lf"&x);
    if (x <= 0)
        printf("f(x)의 값은 %lf", x * x - 9 * x + 2);
    else
        printf("f(x)의 값은 %lf"7 * x + 2);
    return 0;
}
cs

 

 

 

10 (x,y) 좌표를 입력받아서 좌표가 속하는 사분면을 화면에 출력하는 프로그램을 작성하라.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    int x, y;
    printf("좌표(x y): ");
    scanf("%d %d"&x, &y);
 
    if (x > 0 && y > 0)
        printf("1사분면");
    else if (x < 0 && y > 0)
        printf("2사분면");
    else if (x < 0 && y < 0)
        printf("3사분면");
    else
        printf("4사분면");
    return 0;
}
cs

 

 

 

11 사용자로부터 하나의 문자를 입력받아서 문자가 'R'이나 'r'이면 "Rectangle"이라고 출력한다. 'T'이거나 't'이면 "Triangle", 'C'이거나 'c'이면 "Circle"이라고 출력하는 프로그램을 작성한다. 그 외의 문자가 들어오면 "Unknown"이라고 출력한다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
 
int main() {
    char c;
    printf("문자를 입력하시오: ");
    scanf("%c"&c);
    if (c == 'R' || c == 'r')
        printf("Rectangle");
    else if (c == 'T' || c == 't')
        printf("Triangle");
    else if (c == 'C' || c == 'c')
        printf("Circle");
    else
        printf("Unknown");
    return 0;
}
cs