Напечатать сначала все цифры, входящие в него, а затем все остальные буквы - C (СИ)
Формулировка задачи:
Решение задачи: «Напечатать сначала все цифры, входящие в него, а затем все остальные буквы»
#include <stdio.h>
#include <locale.h>
#include <conio.h>
#include <ctype.h>
int main()
{
setlocale(LC_ALL, "RUS");
char text[] = "db if3h w 348 ej wp93 e fd f3478f oej 89u 3of fy 4 3opf 3p4fu 3y8t";
int i = 0;
puts(text);
while (text[i] != '\0')
{
if (text[i] >= '1' && text[i] <= '9')
_putch(text[i]);
i++;
}
puts("");
i = 0;
while (text[i] != '\0')
{
if (tolower(text[i]) >= 'a' && tolower(text[i]) <= 'z')
_putch(text[i]);
i++;
}
_getch();
return 0;
}
Объяснение кода листинга программы
В этом коде сначала устанавливается локализация на русский язык с помощью функции setlocale. Затем вводится строка текста, которую необходимо обработать. Далее, в цикле while проходит по всем символам строки. Если символ является цифрой (больше или равен '1' и меньше или равен '9'), то он выводится на экран с помощью функции _putch. После этого, с помощью функции puts выводится символ новой строки, чтобы перейти на следующую строку. Затем, в следующей части цикла, проходит по всем символам строки. Если символ является буквой (больше или равен 'a' и меньше или равен 'z'), то он выводится на экран с помощью функции _putch. В конце программы, с помощью функции _getch, программа ожидает нажатия клавиши, чтобы завершить работу. В итоге, код сначала выводит все цифры из строки, а затем все остальные буквы.