Through the keyboard input a line of English sentences, statistics of the number of English letters and words, words separated by a space (punctuation is not counted words);
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
Main ()
{
Char string[100];//the length of the string to be entered from the keyboard needs to be properly adjusted to avoid the length of the input beyond the set range.
char c;
int I, num=0,sum=0,word=0; Defines whether word is used to indicate if a word is ending or if a new word begins;
printf ("Please input a line from the keyboard to query the English sentence, the number of words to count: \ n");
Gets (string); Gets the input string from the keyboard;
The number of English characters in the following statistical sentences;
for (i=0; (c=string[i])! = ' i=0 '; i++)//for Loop statement that iterates through each character in the sentence, initializes c!=, and executes i++ if the character ' n ', that is, does not reach the Terminator '/';
{
if ((' A ' <=string[i]&&string[i]<= ' Z ') | | (' A ' <=string[i]&&string[i]<= ' Z '))
sum++; The above is a conditional sentence, if the character within the range of A~z,a~z, then execute sum++, accumulate the number of English letters;
}
The number of English words in the following statistical sentences;
for (i=0; (c=string[i])! = ' i=0 '; i++)//for Loop statement that iterates through each character in the sentence, initializes c!=, and executes i++ if the character ' n ', that is, does not reach the Terminator '/';
{//' + ' is used as the terminator for a string. Its ASCII value is 0.
if (c< ' A ' | | C> ' Z ' &&c< ' A ' | | C> ' z ')//Set conditions: If character C encounters A~z and a~z outside the range of symbol characters, including encountering spaces ';
Word=0; When the above conditions are true, execute here, place word=0, indicating that no words have been encountered, or that a word has ended, and also means to start encountering the next new word;
else if (word==0)//when the condition (word==0) is true, executes the statement inside the curly braces below, and when word==0, indicates that no letter was encountered, that the word was not encountered, or that the last word had ended;
{
word=1; So word=1, that is, the next new word begins,
num++; Execute num++, accumulate the number of English words;
}
}
printf ("\ n");
printf ("The sentence you entered contains%d English characters and%d English words.) \ n ", sum,num);
}
Example: Input statement: Hello! My friend, how is it? (Note that there are spaces before and after the word)
C Language: Count the number of letters and words in the English sentence of the input line, with annotations!