-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHW28.cpp
38 lines (38 loc) · 853 Bytes
/
HW28.cpp
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
/*작성자 : 김성주 HW28 문자 종류별 카운트 프로그램 */
#include <stdio.h>
#pragma warning (disable : 4996) //scnaf 사용 시 오류 예방
int main(void)
{
//TODO
int char_cnt = 0, num_cnt = 0, bla_cnt = 0, oth_cnt = 0;
char c;
c = getchar();
while (1) {
if (('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z')) {
char_cnt++;
c = getchar();
}
else if ('0' <= c && c <= '9') {
num_cnt++;
c = getchar();
}
else if (c == '\t' || c == ' ') {
bla_cnt++;
c = getchar();
}
else if (c == '\n') {
bla_cnt++;
c = getchar();
if (c == EOF) break;
}
else {
oth_cnt++;
c = getchar();
}
}
printf("* 영문자 대소문자 개수 : %d개\n", char_cnt);
printf("* 숫자문자 개수 : %d개\n", num_cnt);
printf("* 여백문자(space, tab, enter) 개수 : %d개\n", bla_cnt);
printf("* 그 외 기타문자 개수 : %d개\n", oth_cnt);
return 0;
}