Удалить все буквы, символы и оставить в строке только цифры - C (СИ)

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

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

Нужно удалить все буквы, символы и оставить в строке только цифры. Например вводим : 4fe e4ge 4 t 4etcey55ggh 5h7v64r h Ответ : 4444555764 Написал код, который удаляет только пробелы, дальше запутался
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
 
bool IsPunctMarks(char ch)
{
  const char PunctMarks[]= "`1234567890-=+qwertyuiop[]\
  asdfghjkl;'zxcvbnm,./|{}:<>?QWERTYUIOPASDFGHJKLZXCVBNM";
  for (int i=0; PunctMarks[i]; i++) if (PunctMarks[i] == ch) return true;
  return false;
}
 
void DelChar(char* str, int pos)
{
  str+=pos;
  while (*str = *(str+1)) str++;
}
 
void DelLetters(char* str)
{
  for(int i=strlen(str)-2; i>=0; i--)
    if (str[i] == '  ' && IsPunctMarks(str[i+1]))
    DelChar(str, i);
}
 
void main()
{
  char Str[100];
  printf("Enter a string: ");
  gets(Str);
  DelLetters(Str);
  printf("Cleared string is: %s\n", Str);
  system("pause");
  return;
}
В 22 строке этот пробел и убираю, а как убрать все буквы, не знаю

Решение задачи: «Удалить все буквы, символы и оставить в строке только цифры»

textual
Листинг программы
sscanf(num, "%f", &value);

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


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

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

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