В строке заменить все многоточия (три точки) одними точками - C (СИ)

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

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

Помогите с задачей,пожалуйста: В строке заменить все многоточия (три точки «.») одними точками.

Решение задачи: «В строке заменить все многоточия (три точки) одними точками»

textual
Листинг программы
#include <stdio.h>
#include <ctype.h>
 
#define STRLEN 81
 
void set_char(char *p, char ch);
 
int main(void)
{
  char i,k,words[STRLEN]={0};
 
  puts("Enter a string, please.");
  gets(words);
 
  i=0;
  while(words[i])
  {
      if(words[i] == '.')
         set_char(&words[i], '.');
 
      i++;
  }
 
  puts(words);
return 0;
}
 
void set_char(char *p, char ch)
{
 
    p++; // перескок на следующий символ если это ch, то замена его на пробел
 
    while(*p==ch)
    {
      *p = ' ';
      p++;
    }
 
}

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

В этом коде реализована функция замены всех многоточий (три точки) на одиночные точки в строке, введенной пользователем.

  1. В начале программы подключаются необходимые библиотеки: <code {C}>

    include

    include

  2. Затем объявляются макросы и переменные: <code {C}>

    define STRLEN 81

    char i,k,words[STRLEN]={0};

  3. Пользователю предлагается ввести строку: <code {C}> puts(Enter a string, please.); gets(words);
  4. Далее, в цикле проходит по всем символам строки. Если текущий символ является многоточием (т.е. '.'), то вызывается функция set_char, которая заменяет все последующие многоточия на пробелы: <code {C}> i=0; while(words[i]) { if(words[i] == '.') { set_char(&words[i], '.'); } i++; }
  5. В конце программы выводится измененная строка: <code {C}> puts(words);
  6. Реализована вспомогательная функция set_char, которая заменяет все вхождения символа 'ch' на пробелы: <code {C}> void set_char(char p, char ch) { p++; // перескок на следующий символ если это ch, то замена его на пробел while(p==ch) { *p = ' '; p++; } }

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


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

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

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