Удалить из строки все буквы, равные последней букве предложения - C (СИ)

Узнай цену своей работы

Формулировка задачи:

надо что бы он прочитав последнею букву в предложение удалял все такие же буквы в самом предложение кроме нее самой!
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. char str[50];
  6. gets(str);
  7. int i,j;
  8. char tmp=str[strlen(str)-1];
  9. for (i=0;i<strlen(str);i++){
  10. if((str[i]==tmp)){
  11. for(j=i;j<strlen(str)-1;j++){
  12. str[j]=str[j+1];
  13. }
  14. str[strlen(str)-1]=NULL;
  15. }
  16. }
  17. printf("%s",str);
  18.  
  19. return 0;
  20. }

Решение задачи: «Удалить из строки все буквы, равные последней букве предложения»

textual
Листинг программы
  1. size_t len = strlen(str);
  2. size_t i, j;
  3. for (i=0, j=0; str[j]; j++)
  4.     if (str[j] != tmp)
  5.         str[i++] = str[j]
  6. str[i++] = tmp;
  7. str[i] = 0;

Объяснение кода листинга программы

  1. В первой строке определяется функция strlen, которая вычисляет длину строки str.
  2. Затем в циклах for перебираются символы строки str.
  3. Внутри циклов проверяется, равен ли текущий символ последнему символу строки tmp.
  4. Если символы не равны, то текущий символ добавляется в новую строку str с индексом i.
  5. После каждой итерации i увеличивается на 1.
  6. В конце str добавляется последний символ tmp.
  7. Наконец, str заканчивается нулевым символом.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы