C 언어: 수학+_000001

C언어: 수학연산 000001


/// 연산

1 ~ 9까지 수 알고 쓰기

/// 예제

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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
 
#define MAX_Q        10 // 최대 질문 개수
#define CONVERSATION 1
#define CLOSING      0
  
static unsigned int random_num = 0;
static unsigned int ans        = 0;
 
void func_question(void);
void func_answer(void);
void func_result(void);
  
int main(void) {
    int question = 0;
    int status   = 0;
    int rt_int;
  
    do {
        printf("대화(1) | 종료(1 이외의 수): ");
 
        rt_int = scanf("%d"&status);
        if (getchar() != '\n') { // for scanf() status = 1aaa, aaa ...
            while (getchar() != '\n');
            status = CLOSING;
        } 
          
        if (status == CONVERSATION) {
            func_question();
            func_answer();
            func_result();
        } else {
            printf("대화를 종료하겠습니다. 만나서 즐거웠습니다.\n");
            exit(EXIT_FAILURE);
        }
 
        question++;
    } while(question < MAX_Q);
 
    printf("귀한 시간 내 주셔서 감사합니다.\n");
 
    return 0;
}
  
void func_question(void) {
    time_t time_now;
    unsigned int random_seed;
 
    time(&time_now);
     
    random_seed = ((unsigned int)time_now + random_num);
    srand(random_seed);
     
    // 1 ~ 9 숫자만들기
    do {
        random_num = rand() % 10// 0 ~ 10
    } while (random_num == 0);
         
    printf("질문: # 의 개수는 몇개입니까?\n");
    printf("      ");
     
    for (register int i = 0; i < random_num; i++) {
        printf("# ");
    }
     
    puts("\n");
}
  
void func_answer(void) {
    int rt_int;
     
    printf("대답: ");
 
    rt_int = scanf("%u"&ans);
    if (getchar() != '\n') { // for scanf() ans = 1aaa, aaa ...
        while (getchar() != '\n');
        ans = 0;
    }
}
  
void func_result(void) {
    if (ans == random_num) 
        printf("입력하신 수 %d(은/는) # 의 개수와 일치합니다.\n", ans);
    else
        printf("입력하신 수 %d(은/는) # 의 개수와 일치하지 않습니다.\n", ans);
     
    ans = 0;
    puts("");
}
cs

* 실행환경: Linux(5.7.6-x86_64-linode136)
* 컴파일러: gcc (Ubuntu 6.5.0-2ubuntu1~14.04.1) 6.5.0 20181026


- 당신을 응원합니다. -

댓글

이 블로그의 인기 게시물

파이썬[Python]: 내장함수 - from_bytes 메서드

파이썬[Python]: 내장함수 - __len__ 메서드

파이썬[Python]: kivy - 한글 사용

C 언어: sin 함수, cos 함수, tan 함수

파이썬[Python]: 내장함수 - bit_length 메서드