Как перевернуть строку в C

How Reverse String C



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

При реализации этого руководства мы работали над системой Ubuntu 20.04 Linux, настроенной на Virtual Box. Работая в системе Linux, мы обычно выполняли большинство установок и запросов в оболочке терминала. Следовательно, откройте оболочку терминала с помощью сочетания клавиш Ctrl + Alt + T или выполните поиск в строке поиска приложения в области «Активность» рабочего стола Ubuntu. Сначала необходимо обновить вашу систему с помощью подходящего запроса на обновление. Он запросит у вас текущий пароль пользователя для запуска обновления. Следовательно, добавьте пароль и нажмите кнопку Enter.







$ sudo подходящее обновление



Поскольку мы использовали язык программирования C для разработки концепции реверсирования строк в системе Ubuntu 20.04, в их системе Ubuntu должен быть установлен компилятор C. Поэтому не забудьте установить компилятор GCC в вашей системе с помощью следующего запроса.



$ sudo apt install gcc

Пример 01: Использование цикла For

После установки и настройки компилятора GCC и обновления пакета apt он переходит к созданию нового файла. Этот файл должен быть типа C; поэтому используйте команду touch для создания файла new.c, как показано ниже. Этот файл будет использоваться в нашем коде с этого момента при реализации программ с обратными строками.





$ touch new.c

Теперь вы можете открыть этот файл для редактирования или кодирования с помощью редактора Nano, встроенного в вашу систему Ubuntu 20.04 Linux. Поэтому попробуйте сделать это в своей оболочке с помощью приведенной ниже инструкции.



$ nano новый.c

Недавно созданный файл C-типа new был открыт в редакторе GNU Nano в системе Ubuntu 20.04. Вы должны написать в нем сценарий C, как показано на скриншоте ниже. Давайте подробнее остановимся на этом коде для вашего лучшего понимания. В начале кода мы включили две библиотеки. Библиотека stdio.h использовалась для приема входных данных и отображения выходных данных, а другая библиотека string.h использовалась для использования всех видов строк в нашем коде. Вся работа по переворачиванию строки будет выполняться в методе main () кода C. Мы объявили строку символьного типа str размером 50. Это означает, что строка, содержащая более 50 символов, не может быть использована в этом коде. После этого мы объявили две переменные целого типа. Переменная l использовалась для сбора длины строки str, а переменная I будет использоваться в качестве инициализатора в цикле for. Затем мы использовали оператор printf для печати текста в строке ввода оболочки, сообщая пользователю, что нужно добавить значение в строковую переменную. Метод scanf () использовался для ввода пользователя во время выполнения и сохранения этого значения в строке str. Функция strlen () использовалась для проверки длины строки str, добавленной пользователем во время выполнения, и сохранения ее в переменной l ’. Затем мы инициализировали цикл for, чтобы перевернуть строку str. Вы можете видеть, что инициализатор I ’принимает значение из переменной l, чтобы изменить направление строки. Затем он выводит символы строки str ’один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью Ctrl + S и закройте его с помощью Ctrl + X.

Пришло время скомпилировать код и проверить результат. Следовательно, компиляция была произведена с помощью указанного ниже запроса gcc с именем файла new.c.

$ gcc новый.c

Успешная компиляция означает, что в нашем коде нет ошибки. Давайте выполним наш файл с помощью запроса a.out в оболочке следующим образом:

$./к.из

Процесс выполнения попросит пользователя добавить строку. Мы добавили Я-Ам-Акса-Ясин и нажали Enter. Вы можете увидеть, что он возвращает обратную строку в следующей строке.

Пример 02: Использование свопинга

В этом примере мы будем использовать метод замены для изменения порядка строки. Поэтому откройте файл new.c еще раз с помощью редактора nano следующим образом:

$ nano новый.c

Теперь файл открыт в редакторе GNU nano; нам нужно обновить файл кода с помощью сценария, показанного ниже на снимке экрана. Сначала мы включили в наш код файл заголовка стандартного ввода и вывода, используя ключевое слово #include. Мы определили метод Reverse () в соответствии с использованием техники подкачки. Мы инициализировали три переменные целочисленного типа new, I и swap. Первый цикл for используется для проверки, пуста ли строка s или нет. Следующий цикл for используется для итерации, и в его теле мы поменяли местами значения, используя переменные new и swap. Стоит отметить, что перестановка строки длиной n занимает n / 2 раунда. После того, как строки были поменяны местами, вам нужно будет снова выполнить цикл, чтобы отобразить перевернутую строку, что мы делаем в нашем приложении, используя третий цикл for. Функция Reverse () должна вызываться изнутри основной программы. Вы указали, что ваша программа выполняет с помощью printf в контексте main (). После этого вы использовали scanf () для получения пользовательского ввода и вызвали метод Reverse (). Теперь снова сохраните файл с помощью Ctrl + S и выйдите из редактора nano с помощью сочетания клавиш Ctrl + X и вернитесь в оболочку терминала.

Сначала скомпилируйте код с помощью запроса gcc, как показано ниже.

$ gcc новый.c

Теперь выполните файл кода с той же инструкцией ./a.out.

$./к.из

Вам будет предложено ввести строковое значение. Мы добавили АксаЯсин и получили его реверс.

Пример 03: Использование рекурсии

В этом примере мы будем использовать рекурсию для обращения строки, добавленной пользователем. Следовательно, откройте файл снова.

$ nano новый.c

Эта программа печатает Введите предложение: затем используется метод Reverse (). Начальная буква, введенная пользователем, сохраняется в c с помощью этого метода. Reverse () выполняется снова, если аргумент отличается от n (новая строка). Эта процедура продолжается до тех пор, пока пользователь не нажмет клавишу Enter. Каждый раз, когда пользователь нажимает Enter, метод Reverse () печатает текст в обратном порядке. Сохраните и закройте файл.

Сначала скомпилируйте код, а затем запустите его, используя предыдущие команды следующим образом:

$ gcc новый.c

$./к.из

Вы можете видеть, что он принимает ввод от пользователя как целое строковое предложение, а затем меняет порядок этого предложения.

Заключение:

Наконец, мы сделали три примера, чтобы проработать реверсирование ввода строкового типа с помощью различных методов, например, использования цикла for, использования рекурсии и использования swap.