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

перевернуть строку в C Программирование и разработка

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

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

$ sudo apt update

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

$ sudo apt install gcc

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

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

$ touch new.c

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

$ nano new.c

Недавно созданный файл C-типа «новый» был открыт в редакторе 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». Затем мы использовали оператор printf, чтобы напечатать в оболочке текст «Введите строку», сообщающий пользователю, что нужно добавить значение в строковую переменную. Метод scanf () использовался для ввода пользователя во время выполнения и сохранения этого значения в строке «str.» Функция «strlen ()» использовалась для проверки длины строки «str», добавленной пользователем во время выполнения, и сохранения ее в переменной «l». Затем мы инициализировали цикл for, чтобы перевернуть строку «str». Вы можете видеть, что инициализатор «I» принимает значение из переменной «l», чтобы изменить направление строки. Затем он выводит символы строки «str» один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью «Ctrl + S» и закройте его с помощью «Ctrl + X». Затем мы использовали оператор printf, чтобы напечатать в оболочке текст «Введите строку», сообщающий пользователю, что нужно добавить значение в строковую переменную. Метод scanf () использовался для ввода пользователя во время выполнения и сохранения этого значения в строке «str.» Функция «strlen ()» использовалась для проверки длины строки «str», добавленной пользователем во время выполнения, и сохранения ее в переменной «l». Затем мы инициализировали цикл for, чтобы перевернуть строку «str». Вы можете видеть, что инициализатор «I» принимает значение из переменной «l», чтобы изменить направление строки. Затем он выводит символы строки «str» один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью «Ctrl + S» и закройте его с помощью «Ctrl + X». Метод scanf () использовался для ввода пользователя во время выполнения и сохранения этого значения в строке «str.» Функция «strlen ()» использовалась для проверки длины строки «str», добавленной пользователем во время выполнения, и сохранения ее в переменной «l». Затем мы инициализировали цикл for, чтобы перевернуть строку «str». Вы можете видеть, что инициализатор «I» принимает значение из переменной «l», чтобы изменить направление строки. Затем он выводит символы строки «str» один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью «Ctrl + S» и закройте его с помощью «Ctrl + X». Метод scanf () использовался для ввода пользователя во время выполнения и сохранения этого значения в строке «str.» Функция «strlen ()» использовалась для проверки длины строки «str», добавленной пользователем во время выполнения, и сохранения ее в переменной «l». Затем мы инициализировали цикл for, чтобы перевернуть строку «str». Вы можете видеть, что инициализатор «I» принимает значение из переменной «l», чтобы изменить направление строки. Затем он выводит символы строки «str» один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью «Ctrl + S» и закройте его с помощью «Ctrl + X». Затем мы инициализировали цикл for, чтобы перевернуть строку «str». Вы можете видеть, что инициализатор «I» принимает значение из переменной «l», чтобы изменить направление строки. Затем он выводит символы строки «str» один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью «Ctrl + S» и закройте его с помощью «Ctrl + X». Затем мы инициализировали цикл for, чтобы перевернуть строку «str». Вы можете видеть, что инициализатор «I» принимает значение из переменной «l», чтобы изменить направление строки. Затем он выводит символы строки «str» один за другим в обратном порядке. В последнем закончился основной метод. Сохраните этот файл с помощью «Ctrl + S» и закройте его с помощью «Ctrl + X».

Читайте также:  Что выбрать C# или C++: в чём отличия

Пришло время скомпилировать код и проверить его вывод

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

$ gcc new.c

Если компиляция проходит успешно, это означает, что в нашем коде нет ошибки. Выполним наш файл по запросу «a.out» в оболочке следующим образом:

$ ./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, как показано ниже.

$ gcc new.c

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

$ ./a.out

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

Читайте также:  Как изучить R: руководство для начинающих

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

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

$ nano new.c

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

Сначала скомпилируйте код, а затем запустите его

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

$ gcc new.c

$ ./a.out

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

Заключение

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

Оцените статью
bestprogrammer.ru
Добавить комментарий