[C] 입력 받은 값 중에 길이가 가장 긴 단어 찾기
2022. 12. 13. 16:14ㆍC언어/문제풀이
728x90
◎ 키보드로부터 입력 받은 값 중에 가장 긴 단어가 몇인지 알아보자!
알고 있어야 하는 내용
- 반복문
- getchar()
- 관계연산
코드 및 설명
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 |