Вывод цифр, содержащихся в строке - C (СИ)

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

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

Здравствуйте, можете помочь перевести программу на строки, задание такое, нужно вводить в строку знаки,числа,буквы, а выводиться должны только цифры.
Листинг программы
  1. Var s,s1:string;
  2. i:byte;
  3. Begin
  4. write('Ââåäèòå ñòðîêó: ');readln(s);
  5. s1:='';
  6. For i:=1 to Length(s) do
  7. if s[i] in ['0'..'9'] then s1:=s1+s[i]
  8. else
  9. Begin
  10. if s1<>'' then writeln(s1);
  11. s1:='';
  12. End;
  13. if s1<>'' then writeln(s1);
  14. readln;
  15. End.

Решение задачи: «Вывод цифр, содержащихся в строке»

textual
Листинг программы
  1. #include <ctype.h>
  2. #include <stdio.h>
  3.  
  4. int main(void) {
  5.  
  6.     int i, n = 0;
  7.     char s[256];
  8.     char s1[256] = "";
  9.  
  10.     puts("Введите строку:");
  11.     scanf("%255[^\n]", s);
  12.  
  13.     for(i = 0; s[i] != '\0'; ++i) {
  14.  
  15.         if(isdigit(s[i])) {
  16.  
  17.             s1[n] = s[i];
  18.             s1[++n] = '\0';
  19.         }
  20.  
  21.         else if(*s1) {
  22.  
  23.             puts(s1);
  24.             *s1 = '\0';
  25.             n = 0;
  26.         }
  27.     }
  28.  
  29.     if(*s1) puts(s1);
  30.  
  31.     return 0;
  32. }

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

  1. Подключение необходимых библиотек: и .
  2. Объявление переменных:
    • int i - цикл.
    • n = 0 - счётчик для массива s1.
    • char s[256] - строка, которую вводит пользователь.
    • `char s1[256] = ``` - массив, в который будут добавляться цифры.
  3. Вывод сообщения с просьбой ввести строку.
  4. Считывание строки с помощью scanf(%255[^\n], s);.
  5. Проверка каждого символа в строке s.
  6. Если символ является цифрой, то он добавляется в массив s1.
  7. Если символ не является цифрой, но в массиве s1 уже есть символы, то выводится текущее значение массива s1 и его очистка для следующего добавления.
  8. Если символ не является цифрой и в массиве s1 нет символов, то ничего не происходит.
  9. После прохода по всем символам в строке, если в массиве s1 остались символы, то они выводятся на экран.
  10. Возврат 0, означающий успешный исход программы.

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


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

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

14   голосов , оценка 3.786 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы