[C] 입력 받은 값 중에 길이가 가장 긴 단어 찾기

2022. 12. 13. 16:14C언어/문제풀이

728x90

◎ 키보드로부터 입력 받은 값 중에 가장 긴 단어가 몇인지 알아보자!


알고 있어야 하는 내용

  1. 반복문
  2. getchar()
  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
#include <stdio.h>
 
int main(void)
{
    char ch;
    int len, tmp=0;
 
    while (1)
    {
        ch = getchar();
        if (ch == -1)
            break;
        len = 0;
        while (ch != '\n')
        {
            len++;
            ch = getchar();
        }
        printf("len : %d", len);
        if (len > tmp)
            tmp = len;
        printf("\n");
    }
    printf("가장 긴 길이 : %d", tmp);
 
    return 0;
}
cs

필요한 변수는 문자를 입력받는 ch, 글자 수를 세주는 len, 가장 큰 수를 저장할 tmp

10행 getchar로 키보드로 입력받은 값을 ch에 저장한다.

11행 Ctrl + Z를 입력하게 되면 컴퓨터에서는 -1로 받아드리기 때문에 이걸 이용해서 프로그램 종료를 시킬 수 있도록 한다.

13행 초기화를 통해서 다음에 입력 받는 값의 길이를 다시 카운트 할 수 있도록한다.

14행 키보드로 입력 받은 값은 버퍼로 이동 된다 버퍼 속 값이 '\n'이 나올 때까지 len++을 해줌으로 길이를 알아낼 수 있으며 17행 코드로 새로 다른 값을 입력한다.

20행 입력받은 값을 tmp와 비교해서 len이 더 크다면 tmp에 저장해주면서 최고 값을 계속 갱신 할 수 있는 코드이다.


결과

 

728x90

'C언어 > 문제풀이' 카테고리의 다른 글

[C] 백준 9063번 대지  (0) 2023.03.21
[C] 백준 10250번 ACM호텔  (0) 2023.03.14
[C] 백준 10810번 공 넣기  (0) 2023.03.04
[C] 로또 번호 생성 프로그램  (0) 2022.12.08