#include #include #include const char *firstVowel(const char *word) { const char *answer = strpbrk(word, "aeiouAEIOU"); if (answer == NULL) answer = word; return answer; } void pigprint_2(const char *word) { const char *v = firstVowel(word); printf("%s", v); while (v != word) { putchar(*word); word += 1; } putchar('a'); putchar('y'); } void prtbtwn(const char *b, const char *e) { while (e != b) { putchar(*b); b += 1; } } void pigprint(const char *b, const char *e) { const char *v = firstVowel(b); if (v > e) v = b; prtbtwn(v, e); prtbtwn(b, v); putchar('a'); putchar('y'); } void latinize(const char *line) { int inWord = 0; const char *endOfWord = line; const char *begOfWord = line; while(*line) { if (inWord) { if (!isalpha(*line)) { endOfWord = line; inWord = 0; pigprint(begOfWord, endOfWord); putchar(*line); } } else { if (isalpha(*line)) { begOfWord = line; inWord = 1; } else { putchar(*line); } } line += 1; } if (inWord) pigprint(begOfWord, line); } int main() { char line[24000]; while(!feof(stdin)) { char *not_null = fgets(line, 24000, stdin); if (not_null == NULL) break; latinize(line); } }