본문

[C언어] 정수 입력 받아 많이 입력 받은 수와 빈도수 출력하기

[C언어] 정수 입력 받아 많이 입력 받은 수와 빈도수 출력하기


2. 0 부터 9 까지의 정수 중에서 20개의 수를 입력 받  아 가장 많이 입력 받은 빈도 수는 무엇이고,  빈 도수는 몇번인지 출력하는 프로그램 작성

hint:[0]에는 0을 입력 받은 회 수, [1]에는 1을 입력받은 회수,. ... 식으로 저장



[소스]



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
#include <stdio.h>
 
int main(void)
{
    int count = 0;
    int input_array[10= {0,0,0,0,0,0,0,0,0,0};
    int frequency = 0;
    int frequency_number = 0;
    
    // 20개의 숫자를 입력 받을 반복문
    while(count < 20)
    {
        int num = 0;
 
        printf("[%d번째]0 - 9 숫자를 입력하세요: ", count + 1);
        scanf("%d"&num);
 
        if(num >=0 && num <= 9// 입력받은 숫자가 0 - 9 사이인지 검사
        {
            input_array[num]++;
            count++;
        }
        else
        {
            printf("숫자를 잘못 입력하셨습니다.\n");
        }
    }
 
    frequency = input_array[0];
    frequency_number = 0;
 
    // 0번째 부터 차례대로 빈도수가 가장 큰 수를 검사하는 로직
    for(int i = 1; i < 9; i++)
    {
        if(frequency < input_array[i]) // 이전 숫자 보다 크면 교체
        {
            frequency = input_array[i];
            frequency_number = i;
        }
    }
 
    printf("가장많이 입력받은 수는 %d 이고 빈도수는 %d 입니다.\n", frequency_number, frequency);
 
    return 0;
}
cs



[실행결과]


[1번째]0 - 9 숫자를 입력하세요: 1

[2번째]0 - 9 숫자를 입력하세요: 2

[3번째]0 - 9 숫자를 입력하세요: 3

[4번째]0 - 9 숫자를 입력하세요: 4

[5번째]0 - 9 숫자를 입력하세요: 5

[6번째]0 - 9 숫자를 입력하세요: 6

[7번째]0 - 9 숫자를 입력하세요: 7

[8번째]0 - 9 숫자를 입력하세요: 8

[9번째]0 - 9 숫자를 입력하세요: 9

[10번째]0 - 9 숫자를 입력하세요: 0

[11번째]0 - 9 숫자를 입력하세요: 11

숫자를 잘못 입력하셨습니다.

[11번째]0 - 9 숫자를 입력하세요: 1

[12번째]0 - 9 숫자를 입력하세요: 2

[13번째]0 - 9 숫자를 입력하세요: 1

[14번째]0 - 9 숫자를 입력하세요: 2

[15번째]0 - 9 숫자를 입력하세요: 3

[16번째]0 - 9 숫자를 입력하세요: 4

[17번째]0 - 9 숫자를 입력하세요: 6

[18번째]0 - 9 숫자를 입력하세요: 7

[19번째]0 - 9 숫자를 입력하세요: 5

[20번째]0 - 9 숫자를 입력하세요: 34

숫자를 잘못 입력하셨습니다.

[20번째]0 - 9 숫자를 입력하세요: 3

가장많이 입력받은 수는 1 이고 빈도수는 3 입니다.



[설명]


11번째 줄 부터 27번째줄 까지 사용자에게 0 - 9 숫자를 입력 받는 반복문이다.

20개의 숫자를 입력 받을 때까지 반복문이 종료 되지 않는다.


15번째 줄은 0 -9 범위를 벗어나면 재 입력 받도록 하는 조건문이다.


33번째 줄부터 40번째 줄까지가 가장 많은 입력을 받은 숫자를 찾는 반복문이다.






댓글