Изъять цифры из строки символов и создать из них новую строку - C (СИ)

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

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

Ввести строку с клавиатуры, найти в ней цифры и создать из них новую строку.

Решение задачи: «Изъять цифры из строки символов и создать из них новую строку»

textual
Листинг программы
/*
 ============================================================================
 Name        : c_digit.c
 Author      : UranFlex
 Version     : 0.1 alpha
 Copyright   : GNU GPL
 Description : Ввести строку с клавиатуры, найти в ней цифры и создать из них новую строку.
 *             C, Ansi-style.
 ============================================================================
 */
 
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include <locale.h >
 
#define SZ 10 // максимальный размер строки, включая символ новой строки или завершающий ноль
 
int main(void) {
 
    setlocale(LC_ALL,"Russian");
    char str[ SZ ], strDigit[ SZ ]; // контейнеры для вводжимой и цифровой строк
 
    // запрашиваем у пользователя строку
    printf("%s %d %s\n", "введите строку, будут прочитаны лишь первые", SZ, "символов включая символ новой строки");
    fgets( str, sizeof( str ), stdin  ); // читаем первые SZ символов
 
    fflush( stdin ); // очищаем stdin
 
    // в цикле проходимся по всем символам введеной строки
    size_t i, j = 0;
    for( i = 0; i < strlen( str ); ++i  )
        if( isdigit( str[ i ]  ) ){ // если находим цифру
             strDigit[ j++ ] = str[ i ]; // то заносим ее в очередной символ нашей цифровой строки
 
    }
 
    strDigit[ j ] = '\0'; // последний символ в цифровой строке будет завершающий ноль - чтобы в строке обозначить ее конец
    puts( strDigit ); // и выводим ее на экран
 
    return EXIT_SUCCESS;
}

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

  1. Вводится строка с клавиатуры
  2. Вводится первая SZ-1 символов, включая символ новой строки
  3. Цикл проходит по всем символам введенной строки
  4. Если символ является цифрой, он добавляется в строку strDigit
  5. Последний символ в строке strDigit устанавливается как завершающий ноль
  6. Строка strDigit выводится на экран
  7. Программа возвращает EXIT_SUCCESS

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


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

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

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