Cで文字列を逆にする方法

How Reverse String C



文字列コーディングでは、文字列の反転が重要なトピックです。文字列を逆にする方法もいくつかあり、それぞれに異なるロジックがあります。この記事では、文字列を適切に反転して、事前設定された関数を必要とせずに、いくつかの異なるアプローチと推論を使用する方法を示します。文字列テクニックの反転が特定の一意の入力文字列に適用される場合は常に、消費者が特定の順序で提供するテキストは完全に反転されます。以下の例では、Cで文字列を反転するさまざまな代替方法が採用されています。

このガイドを実装するとき、VirtualBoxで構成されたUbuntu20.04Linuxシステムに取り組んできました。 Linuxシステムで作業している間、私たちはほとんどのインストールとクエリをターミナルシェルで行っていました。したがって、ショートカットCtrl + Alt + Tでターミナルシェルを開くか、Ubuntuデスクトップの[アクティビティ]領域にあるアプリケーション検索バーからターミナルシェルを検索します。最初にaptupdateクエリを使用してシステムを更新する必要があります。更新を実行するために、現在のユーザーパスワードの入力を求められます。したがって、パスワードを追加して、Enterボタンを押します。







$ sudo apt update



Ubuntu 20.04システムで文字列を逆にするという概念を詳しく説明するためにCプログラミング言語を使用しているため、UbuntuシステムにCコンパイラをインストールする必要があります。したがって、以下のクエリを使用して、システムにGCCコンパイラをインストールしてください。



$ sudo apt install gcc

例01:Forループの使用

GCCコンパイラのインストールと構成、およびaptパッケージの更新後、新しいファイルが作成されます。このファイルはCタイプである必要があります。したがって、touchコマンドを使用して、以下のようにファイルnew.cを作成します。このファイルは、今後、逆文字列プログラムの実装中にコードで使用されます。





$新しいタッチ。NS

これで、Ubuntu 20.04Linuxシステムに組み込まれているNanoエディターで編集またはコーディングするためにこのファイルを開くことができます。したがって、シェルで以下の手順を試してください。



$ナノ新品。NS

新しく作成されたCタイプファイルnewが、Ubuntu20.04システムのGNUNanoエディターで開かれました。下のスクリーンショット画像に示されているように、Cスクリプトを記述する必要があります。理解を深めるために、このコードについて詳しく説明します。コードの開始時に、2つのライブラリが含まれています。ライブラリstdio.hは入力を受け取り、出力を表示するために使用され、他のライブラリstring.hはコード内のあらゆる種類の文字列を使用するために使用されています。文字列を逆にするすべての作業は、Cコードのmain()メソッドで行われます。サイズ50の文字型文字列strを宣言しました。これは、50文字を超える文字列をこのコードで楽しむことができないことを意味します。その後、2つの整数型変数を宣言しました。変数lは文字列strの長さを収集するために使用されており、変数Iはforループの初期化子として使用されます。次に、printfステートメントを使用してシェルのEnter文字列にテキストを出力し、文字列変数に値を追加するようにユーザーに指示しました。 scanf()メソッドは、実行時にユーザーを入力し、その値を文字列strに保存するために使用されています。関数strlen()は、実行時にユーザーによって追加された文字列strの長さをチェックし、それを変数l ’に保存するために使用されています。次に、文字列strを逆にするためにforループを初期化しました。イニシャライザI ’が変数lから値を取得して、文字列の方向を逆にしていることがわかります。次に、文字列strの文字を1つずつ反転して出力します。最後に、mainメソッドは終了しました。 Ctrl + Sを使用してこのファイルを保存し、Ctrl + Xを使用して終了します。

次に、コードをコンパイルして、その出力を確認します。したがって、コンパイルは、ファイルnew.cの名前を使用した以下のgccクエリによって実行されています。

$ gccnew。NS

コンパイルが成功すると、コードにエラーがないことを意味します。次のように、シェルでa.outクエリを使用してファイルを実行してみましょう。

$。/に。アウト

実行プロセスでは、ユーザーに文字列を追加するように求めます。 I-Am-Aqsa-Yasinを追加し、Enterキーを押しました。次の行で、文字列の逆を返すことがわかります。

例02:スワッピングの使用

この例では、スワッピングメソッドを使用して文字列の順序を逆にします。したがって、次のようにnanoエディターを使用してファイルnew.cをもう一度開きます。

$ナノ新品。NS

これで、ファイルがGNUnanoエディターで開かれました。スクリーンショットに示す以下のスクリプトでコードファイルを更新する必要があります。最初にキーワード#includeを使用して、標準の入力および出力ヘッダーファイルをコードにインクルードしました。スワッピング手法の使用法に従って、Reverse()メソッドを定義しました。 new、I、swapの3つの整数型変数を初期化しました。最初のforループは、文字列sが空かどうかを確認するために使用されます。次のforループは反復に使用され、その本体では、new変数とswap変数を使用して値を交換しました。 nの長さの文字列を逆にすると、n / 2ラウンドしかかからないことに注意してください。文字列が交換されたら、逆の文字列を表示するためにもう一度ループする必要があります。これは、アプリケーション内で3番目のforループを使用して行います。関数Reverse()は、内部メインプログラムから呼び出す必要があります。 main()のコンテキスト内でprintfを使用してソフトウェアが何を実行するかを説明しました。その後、scanf()を使用してユーザー入力を取得し、Reverse()メソッドを呼び出しました。ここで、Ctrl + Sを使用してファイルを再度保存し、Ctrl + Xショートカットでnanoエディターを終了して、ターミナルシェルに戻ります。

以下のように、最初にgccクエリでコードをコンパイルします。

$ gccnew。NS

次に、同じ./a.out命令を使用してコードファイルを実行します。

$。/に。アウト

文字列値の入力を求められます。 AqsaYasinを追加し、その逆を行いました。

例03:再帰の使用

この例では、再帰を使用して、ユーザーが追加した文字列を逆にします。したがって、ファイルを再度開きます。

$ナノ新品。NS

このプログラムは、文の入力を出力します。次に、Reverse()メソッドが使用されます。ユーザーが入力した頭文字は、この方法でcに保存されます。引数が n(改行)以外の場合、Reverse()が再度実行されます。この手順は、ユーザーがEnterキーを押すまで続きます。ユーザーがEnterキーを押すたびに、Reverse()メソッドはテキストを逆の順序で出力します。ファイルを保存して閉じます。

最初にコードをコンパイルしてから、次のように前のコマンドを使用して実行します。

$ gccnew。NS

$。/に。アウト

ユーザーからの入力を文字列文全体として受け取り、その文の順序を逆にすることがわかります。

結論:

最後に、forループの使用、再帰の使用、スワップの使用など、さまざまな方法で文字列型の入力を逆にする方法を詳しく説明する3つの例を実行しました。