/* cuenta palabras */ #include #include const char BLANCO = 32; const char TAB = '\t'; const char EOLN = '\n'; void main (void) { int ant = BLANCO, c, NumPal = 0; while ( ( c=getchar ( ) )!= EOF) { if ( (ant==BLANCO || ant==TAB || ant==EOLN) && c!=BLANCO && c!=TAB && c!=EOLN) ++NumPal; ant = c; } printf("Número de palabras= %d\n", NumPal); } /*reemplaza los caracteres TAB, ENTER, BLANCOS por un solo BLANCO*/ #include const char BLANCO = 32; const char TAB = '\t'; const char EOLN = '\n'; void main (void) { int ant=0 , c; while ( (c=getchar ( )) != EOF) { if (c!=BLANCO && c!=TAB && c!=EOLN) { if (ant==BLANCO || ant==TAB || ant==EOLN) putchar(BLANCO); putchar (c); } ant=c; } } /* lee Números y los suma - sólo con getchar */ #include const char EOLN='\n'; void main (void) { int numero=0, total=0,c; while ((c=getchar())!=EOF) if (c!=EOLN) { numero *= 10; numero += c-'0'; } else { total += numero; numero = 0; } total += numero; printf("______\n%d\n", total); } /* imprime el resultado con putchar */ ... int ... factor = 1; ... while ((factor *= 10) <= total); while (factor/=10) {putchar (total/factor + '0'); total %= factor; } putchar (EOLN); } /* lee números y los suma, lo realiza en diferentes bases - sólo con putchar y getchar */ #include const char EOLN = '\n'; void main (void) { int numero = 0, total = 0, c, base, factor = 1; printf("Ingrese base (dos dígitos p.e. 02 ®binario):"); base = (getchar( ) -'0')*10; base += getchar( )- '0'; while ( (c=getchar( ))!=EOF) { if (c!=EOLN) { numero *= base; if (c>='A' && c<= 'Z') numero += c - 'A' + 10; else if (c>= 'a' && c<='z') numero += c -'a' + 10; else numero +=c - '0'; } else { total += numero; numero = 0; } } total += numero; while ((factor *= base) <=total); while (factor /= base) { c = total/factor; putchar (c<10? c+'0': c-10+'A'); total %= factor; } putchar (EOLN); }