Помогите с программой на С
Условие:
Дана строка, состоящая из символов латинского алфавита, разделенных пробелами (одним или несколькими) . Преобразовать каждое слово в строке, удалив из него все вхождения последней буквы этого слова (количество пробелов между словами не изменять) .

Вот такой не совсем красивый и точный код получился
http://pastebin.com/NSsEApy0
Вроде и работает, но не всегда стабильно правильно :D

  • #include
    #include
    #define BUFF 50
    int main() {
    char str[BUFF] = {0};
    int end, beg;
    char letter;
    printf(" str?.. ");
    gets_s(str, BUFF);
    printf("\n");
    end = strlen(str) - 1;
    letter = str[end];
    while (--end >= 0) {
    if (str[end + 1] == 32 && str[end] != 32) {
    if (letter == str[end]) --end;
    else letter = str[end];
    }
    if (str[end] == letter) {
    beg = end;
    while (str[beg++]) str[beg - 1] = str[beg];
    str[beg] = 0;
    }
    }
    puts(str);
    getchar(); getchar();
    return 0;
    }

Вас заинтересует