#include <stdio.h> #include <ctype.h> int main(void) { char c ; c = getchar() ; while (c != EOF) { if (isalpha(c)) { char r = c ; while(isalpha(c=getchar())) { putchar(c) ; } putchar(r) ; putchar('a') ; putchar('y') ; } else { putchar(c) ; c = getchar() ; } } return 0 ; }
Doesn't work with empty lines.
#include <stdio.h> int main(void) { int maxNum ; /* biggest so far */ int nextNum ; /* last number read */ int numRead = 0 ; /* number of integer read so far */ int numReadInLine ; /* number of integer read in last line */ printf("Looking for the biggest number.\n" "Enter a line that doesn't start" " with a number when you are done\n") ; numReadInLine = scanf("%d", &nextNum) ; maxNum = nextNum ; while (numReadInLine == 1) { ++numRead ; if (maxNum < nextNum) maxNum = nextNum ; numReadInLine = scanf("%d", &nextNum) ; while (getchar() != '\n') ; } printf("%d numbers were read.\n", numRead) ; if (numRead > 0) printf("%d was the largest.\n", maxNum) ; return 0 ; }
Doesn't work when the word has a large number of consonants at the beginning.
#include <stdio.h> #include <ctype.h> int isvowel(char c) { switch(c) { case 'a': case 'A': case 'e': case 'E': case 'i': case 'I': case 'o': case 'O': case 'u': case 'U': return 1 ; default: return 0 ; } } int main(void) { char c ; c = getchar() ; while (c != EOF) { if (isalpha(c)) { char consonant[7] ; int i ; int n = 0 ; while(! isvowel(c)) { consonant[n] = c ; ++n ; c = getchar() ; } while(isalpha(c)) { putchar(c) ; c = getchar() ; } if (n==0) putchar('w') ; else for (i=0; i<n; ++i) putchar(consonant[i]) ; putchar('a') ; putchar('y') ; } else { putchar(c) ; c = getchar() ; } } return 0 ; }