Удалить все символы из строки, и вывести строку на экран - C (СИ)
Формулировка задачи:
необходимо удалить все символы из строки, и вывести строку на экран
Будет ли работать?
Проверьте пожалуйста, у меня сейчас нет возможности, и если не правильно, напишите как правильно
#include<stdio.h> #include<stdlib.h> #include<string.h> void main() { int len = 0, st = 0; gets(str); for (int i = 0; str[i] != 0; i++) { len++; for (int i = 0; i < len; i++) if (str[i] == ' ') st++; else { str[i - st] = str[i]; str[i] = ' '; } } printf("%s", str); }
Проверьте пожалуйста, у меня сейчас нет возможности, и если не правильно, напишите как правильно[/QUOTE]
то есть пробелы нужно удалить
Решение задачи: «Удалить все символы из строки, и вывести строку на экран»
textual
Листинг программы
#include<stdio.h> #include<stdlib.h> #include<string.h> int main(void) { char *str; char *result; int i, n; gets(str); for (int i = 0; i < strlen(str); i++) { if (str[i] != ' ') { result[n] = str[i]; n++; } } printf("%s", result); //Если несколько строк подряд без завершения программы то надо массив очищать после вывода на екран return 0; }
Объяснение кода листинга программы
- Подключение необходимых библиотек: stdio.h, stdlib.h, string.h
- Объявление переменных:
- str - указатель на строку, содержащую символы для обработки;
- result - указатель на результирующую строку;
- i, n - индексы для обхода строк;
- Получение строки от пользователя с помощью функции gets(str);
- Обход каждого символа входной строки:
- Если символ не равен пробелу, то он добавляется в результирующую строку;
- Вывод результирующей строки на экран с помощью функции printf(
%s
, result); - Очистка памяти от выделенных указателей на строки.
- Возврат 0, что означает успешное завершение программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д