Для написания программы на языке C, которая выделяет числа из строк, можно использовать различные подходы в зависимости от требований и формата строк, которые нужно обрабатывать. Вот один из возможных подходов.
Шаг 1: Создание функции для проверки является ли символ числом
Вначале программы можно создать функцию, которая будет проверять, является ли символ числом. Для этого можно использовать функцию isdigit
из стандартной библиотеки <ctype.h>
.
#include <ctype.h> int isNumber(char c) { if (isdigit(c)) { return 1; } return 0; }
Шаг 2: Создание функции для извлечения чисел из строки
Следующим шагом можно создать функцию, которая будет извлекать числа из строки. В этой функции будет происходить проход по каждому символу строки, и если текущий символ является числом, то он будет добавлен в буфер. Если символ не является числом и буфер содержит число, оно будет добавлено в результат.
#include <stdio.h> void extractNumbersFromString(char* str, int* numbers, int* count) { int len = strlen(str); int i = 0; int j = 0; int buffer = 0; int hasNumber = 0; for (i = 0; i < len; i++) { if (isNumber(str[i])) { buffer = buffer * 10 + (str[i] - '0'); hasNumber = 1; } else { if (hasNumber) { numbers[j++] = buffer; buffer = 0; hasNumber = 0; } } } if (hasNumber) { numbers[j++] = buffer; } *count = j; }
Шаг 3: Тестирование функции извлечения чисел из строки
Для тестирования программы можно написать функцию main
, которая будет принимать строку введенную пользователем и вызывать функцию extractNumbersFromString
для извлечения чисел из нее. Результат можно вывести на экран.
#include <stdio.h> #define MAX_COUNT 100 int main() { char str[100]; int numbers[MAX_COUNT]; int count = 0; printf("Введите строку: "); fgets(str, sizeof(str), stdin); extractNumbersFromString(str, numbers, &count); printf("Извлеченные числа: "); for (int i = 0; i < count; i++) { printf("%d ", numbers[i]); } printf("n"); return 0; }
Это лишь один пример программы, которая выделяет числа из строк на языке C. Вы можете изменить ее в соответствии со своими требованиями и форматом строк, с которыми вы работаете.