Изъять цифры из строки символов и создать из них новую строку - 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; }
Объяснение кода листинга программы
- Вводится строка с клавиатуры
- Вводится первая SZ-1 символов, включая символ новой строки
- Цикл проходит по всем символам введенной строки
- Если символ является цифрой, он добавляется в строку strDigit
- Последний символ в строке strDigit устанавливается как завершающий ноль
- Строка strDigit выводится на экран
- Программа возвращает EXIT_SUCCESS
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д