Удаление лишних пробелов в программе - C (СИ)

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

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

Задание: Считая, что предложения в тексте заканчиваются точкой с последующим обобщенным пробелом(и) отредактировать произвольный текст. -Оставить между словами предложений ровно один пробел. - Предложения в тексте разделить ровно двумя пробелами. Мой код:
#include <stdio.h>
#include <string.h>
 
int main ()
{
  char str[] ="I like this program becouse it likes me.   Maybe I will marry with this program. You know. It will be awesome."; // Исходный текст
  char * pch; // Для strtok
  printf ("Our string: \n \"%s\"\n",str);
 
  pch = strtok (str,".");
 
 /* Создаем цикл для создания двойного пробела после каждого слова предложении */
  while (pch != NULL)
  {
        printf ("%s. ",pch);
    pch = strtok (NULL, ".");
  }
 
  return 0;
}
Как исправить мой код, чтобы получилось правильно и программа стабильно работала ? Можно ли как-нибудь сделать, чтобы strtok обращал внимание на количество пробелов после точки или необходимо использовать другую функцию ? Весь код должен быть на чистом Си, без использования элементов С++.

Решение задачи: «Удаление лишних пробелов в программе»

textual
Листинг программы
for(;;)

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


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

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

12   голосов , оценка 3.917 из 5
Похожие ответы