반응형
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
|
#include <stdio.h>
#define YES 1
#define NO 0
main() {
//입력된 문자 수, 단어 수, 줄 수를 계산하는 프로그램
char c, inword;
int nc, nw, nl; //문자, 단어, 줄
inword = NO;
nl = nw = nc = 0;
while ((c = getchar()) != EOF) {
nc++; //문자 수 세기
if (c == '\n') //줄넘김이 있으면
nl++; //줄 수 세기
if (c == ' ' || c == '\n' || c == '\t') //공백을 다시 만날때까지 inword YES
inword = NO;
else if (inword == NO) { //공백만나기 전까지 단어를 세지 않게
inword = YES; //inword가 NO면 단어 하나를 세고 플래그 1로 변환
nw++;
}
}
printf("\n");
printf("line = %d\n", nl);
printf("word = %d\n", nw);
printf("character = %d\n", nc);
}
|
cs |
11행 EOF (ctrl + Z)를 만나기 전까지 계속 입력하게 반복
12행 입력될 떄 마다 하나하나 count
13~14행 enter가 입력되면 줄 수 를 count
inword가 처음 NO로 초기화 되어있으므로
17~19행에서 inword를 YES로 바꾸고 단어수를 올린다
15~16행 키보드에서 공백문자가 입력되면 (스페이스 (' '), 텝 ('\t'), 엔터 ('\n')) inword를 NO로 바꾸고
다음 문자입력되면 단어하나를 추가
C부터 다시 공부하려니까 여간 너무 귀찮다 정말ㅠ
반응형
'프로그래밍 > C programming' 카테고리의 다른 글
c언어 1에서 1000사이 정수중 수를 구성한 개개의 수가 연속적으로 되어있는 수를 찾는 프로그램(for문, if~else문, break) (0) | 2020.06.16 |
---|---|
c언어 1~1000사이에 있는 수에 대해 암스트롱 수를 구하는 프로그램(각 자리 수에 세제곱의 합이 그 자신과 같아지는 수) (0) | 2020.06.16 |
c언어 러시아 농부 곱셉 알고리즘, 농부곱셈법, 이집트곱셈법 (0) | 2020.06.11 |
C언어 문장을 입력 받아 공백문자 개수 세고, 밑줄로 변환하는 프로그램 getchar(), putchar() (0) | 2020.06.05 |
C언어 알파벳을 입력받아 대소문자 변환 (소문자는 대문자로, 대문자는 소문자로 나머지는 그대로) getchar(), putchar() (0) | 2020.06.05 |
댓글