Заменить все цифры массива слов на символ "&" - C (СИ)

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

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

Как заменить все цифры массива слов на символ "&" ?

Решение задачи: «Заменить все цифры массива слов на символ "&"»

textual
Листинг программы
#include <stdio.h>
#include <string.h>
 
int main(void) {
    char buf[BUFSIZ];
    
    while ( printf("String: ") && fgets(buf, BUFSIZ, stdin) && *buf != '\n' ) {
        for ( char * ptr = strpbrk(buf, "0123456789"); ptr; ptr = strpbrk(ptr + 1, "0123456789") )
            *ptr = '&';
        printf("Result: %s", buf);
    }
    
    return 0;
}

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

В этом коде:

  1. Объявлена переменная типа char с именем buf и размером BUFSIZ.
  2. В цикле while программа запрашивает у пользователя ввод строки с помощью функции fgets в буфер buf.
  3. Если строка успешно введена, то в цикле for происходит замена всех цифр на символ '&' с помощью функции strpbrk, которая ищет первое вхождение цифры в строке, а затем заменяет его на '&'.
  4. После замены выводится результат замены с помощью функции printf.
  5. Если ввод некорректен (ввод не строка или ввод содержит символы, которые приводят к исключению), то программа завершается.
  6. В конце программы возвращается 0, что означает успешное завершение.

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


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

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

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