Δημοσιεύτηκε: 02 Μαρ 2012, 21:51
Με αφορμή την άσκηση, μια ολοκληρωμένη υλοποίηση που θεωρεί (και μετράει) λέξεις μονάχα όσες αποτελούνται από γράμματα ή/και αριθμούς...
- Μορφοποιημένος Κώδικας: Επιλογή όλων
-
#include <stdio.h>
#include <ctype.h> /* for isalnum() */
int main( void )
{
int ch = '\0';
int wcount = 0, letcount = 0;
printf("Enter a sentence: ");
for (;;) /* infinite loop */
{
ch = getchar();
if ( isalnum(ch) )
letcount++;
else {
if ( letcount ) /* ignore leading blanks */
wcount++;
/* ignore invalid (non-word) letters */
while ( '\n' != ch && !isalnum(ch=getchar()) )
;
if ( '\n' == ch )
break; /* exit infinite loop */
letcount++; /* count any last valid letter */
}
}
printf( "%d word(s), %d letter(s)\n", wcount, letcount );
printf( "Avarage word length: %.1f\n", !wcount ? 0 : (float)letcount/wcount );
return 0;
}