-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcount_words.cpp
More file actions
68 lines (56 loc) · 1.35 KB
/
Copy pathcount_words.cpp
File metadata and controls
68 lines (56 loc) · 1.35 KB
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include<stdio.h>
unsigned countWords(char *str)
{
bool escape=true;
unsigned wc=0;
while(*str)
{
if ( *str == ' ' || *str=='\t' || *str=='\n') // If next character is a separator, set the state as OUT
{
escape=true;
}else if(escape==true)// If next character is not a word separator and state is OUT, // then set the state as IN and increment word count
{
escape=false;
wc++;
}
str++;
}
return wc;
}
int main(void)
{
//char str[] = "One two three\n four\nfive ";
char str[] = " ";
printf("No of words: %u\n", countWords(str));
return 0;
}
/*
#include<stdio.h>
#define OUT 0
#define IN 1
unsigned countWords(char *str)
{
int state=OUT;
unsigned wc=0;
while(*str)
{
if ( *str == ' ' || *str=='\t' || *str=='\n') // If next character is a separator, set the state as OUT
{
state=OUT;
}else if(state==OUT)// If next character is not a word separator and state is OUT, // then set the state as IN and increment word count
{
state=IN;
wc++;
}
str++;
}
return wc;
}
int main(void)
{
//char str[] = "One two three\n four\nfive ";
char str[] = " ";
printf("No of words: %u\n", countWords(str));
return 0;
}
*/