/*Procedure that counts the number of words in a string
A word is any set of characters (or a single character) separated
from the word after it and before it by a space*
For example, "a" is one word, "!" is one word, "peut-etre" is one word, "Builder Jack" are two words*/
#include <stdio.h>
int word_count(char *array){
int count = 0; /*Number of words*/
while(*array != '\0'){
if(*array == ' '){
count++;
}
array++;
}
return (count+1);
}
int main(void){
char line[1000];
fgets(line
, sizeof(line
), stdin
);
printf("Word count is %i", word_count
(line
));
return 0;
}
LypQcm9jZWR1cmUgdGhhdCBjb3VudHMgdGhlIG51bWJlciBvZiB3b3JkcyBpbiBhIHN0cmluZwogICAgQSB3b3JkIGlzIGFueSBzZXQgb2YgY2hhcmFjdGVycyAob3IgYSBzaW5nbGUgY2hhcmFjdGVyKSAgc2VwYXJhdGVkCiAgICBmcm9tIHRoZSB3b3JkIGFmdGVyIGl0IGFuZCBiZWZvcmUgaXQgYnkgYSBzcGFjZSogCgogICAgRm9yIGV4YW1wbGUsICJhIiBpcyBvbmUgd29yZCwgIiEiIGlzIG9uZSB3b3JkLCAicGV1dC1ldHJlIiBpcyBvbmUgd29yZCwgIkJ1aWxkZXIgSmFjayIgYXJlIHR3byB3b3JkcyovCgogICAgI2luY2x1ZGUgPHN0ZGlvLmg+CgoKICAgIGludCB3b3JkX2NvdW50KGNoYXIgKmFycmF5KXsKICAgICAgICBpbnQgY291bnQgPSAwOyAvKk51bWJlciBvZiB3b3JkcyovCgogICAgICAgIHdoaWxlKCphcnJheSAhPSAnXDAnKXsKICAgICAgICAgICAgaWYoKmFycmF5ID09ICcgJyl7CiAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGFycmF5Kys7CiAgICAgICAgfQogICAgICAgIHJldHVybiAoY291bnQrMSk7CiAgICB9CgogICAgaW50IG1haW4odm9pZCl7CiAgICAgICAgY2hhciBsaW5lWzEwMDBdOwoKICAgICAgICBwdXRzKCJFbnRlciB0ZXh0Iik7CgogICAgICAgIGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgc3RkaW4pOwoKICAgICAgICBwcmludGYoIldvcmQgY291bnQgaXMgJWkiLCB3b3JkX2NvdW50KGxpbmUpKTsKCiAgICAgICAgcmV0dXJuIDA7CiAgICB9