Как поставить пробел после запятой в строке?

В языке программирования C нет встроенных функций для автоматического добавления пробела после запятой в строке. Однако, можно использовать различные подходы для достижения желаемого результата.

Один из самых простых способов - это использование функции sprintf() для форматирования строки с использованием спецификаторов формата. Спецификатор формата %0.2f позволяет указать, что нужно вывести число с двумя знаками после запятой. Пример:

#include <stdio.h>

int main() {
    double num = 3.14;
    char str[10];
    sprintf(str, "%.2f", num);
    printf("Result: %sn", str);
    return 0;
}

В результате выполнения этого кода будет выведено: "Result: 3.14".

Если вам нужно добавить пробел после запятой, то можно использовать ещё одну функцию sprintf(), но с другим спецификатором формата. Например, %0.2Lf указывает, что нужно вывести число с двумя знаками после запятой и добавить пробел после запятой. Пример:

#include <stdio.h>

int main() {
    long double num = 3.14;
    char str[10];
    sprintf(str, "%0.2Lf", num);
    printf("Result: %sn", str);
    return 0;
}

В результате выполнения этого кода будет выведено: "Result: 3.14 ".

Однако, следует отметить, что использование sprintf() может быть неэффективно в случае большого объема данных, поскольку требует выделения памяти для хранения результирующей строки.

Вместо этого, можно написать собственную функцию, которая будет работать с символьным массивом и добавлять пробелы после запятых вручную. Пример:

#include <stdio.h>
#include <string.h>

void addSpaceAfterComma(char *str) {
    int i, j, len;
    len = strlen(str);
    for (i = 0; i < len; i++) {
        if (str[i] == ',') {
            for (j = len - 1; j > i; j--) {
                str[j + 1] = str[j];
            }
            str[i + 1] = ' ';
            len++;
            i++;
        }
    }
}

int main() {
    char str[20] = "1,2,3,4";
    printf("Before: %sn", str);
    addSpaceAfterComma(str);
    printf("After: %sn", str);
    return 0;
}

В результате выполнения этого кода будет выведено:

Before: 1,2,3,4
After: 1, 2, 3, 4

В этом примере, функция addSpaceAfterComma() принимает символьный массив и проходит по нему, добавляя пробелы после каждой запятой.

Конечно, это всего лишь один из множества возможных способов добавления пробела после запятой в строке в языке C. Выбор конкретного подхода будет зависеть от контекста и требований вашей программы.