Как напечатать сокращенный строку?

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>


int main() {
    char str[200] = "a=12 , r=434.89  suma -112.321";
    char* p = str;
    do
    {       
        if (isdigit(*p) || *p == '-')
        {
            printf("% .2f ", strtof(p, &p));
        }
        else
        {
        p++;
        }
     } while (*p!='\0');


}

С клавиатуры ввести символьную строку, в котором кроме слов могут быть также числа: цели и действительны Удалить из введенной строки все числа, предварительно выведя их на экран. В конце напечатать сокращенный строку Как напечатать сокращенный строку?


Ответы (1 шт):

Автор решения: Павел Ериков

Например можно сокращенную строку отдельно сохранять. Вот пример:

#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>

int main() {
    char str[200] = "a=12 , r=434.89  suma -112.321";
    //Новая сокращенная строка
    char new_str[200];
    char* np = new_str;
    char* p = str;
    do
    {
        if (isdigit(*p) || *p == '-')
        {
            printf("%.2f ", strtof(p, &p));
        }
        else
        {
            //Заполняем сокращенную строку не числами
            *np = *p;
            np++;
            p++;
        }
    } while (*p != '\0');
    //Обрезаем лишнее
    *np = '\0';
    printf("\n%s", new_str);
}
→ Ссылка