Удалить все буквы, символы и оставить в строке только цифры - 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);