C 言語では、文字列内の 2 つの同一の文字の間にある最大文字数

王林
リリース: 2023-09-17 20:53:02
転載
1147 人が閲覧しました

C 言語では、文字列内の 2 つの同一の文字の間にある最大文字数

文字列を取得します。配列内には少なくとも 2 つの同一の文字が存在します。ここでのタスクは、2 つの同一の文字間の最大文字数を見つけることです。重複する文字がない場合は、-1 が返されます。

Input - String str = "abcdba"

Output - 文字列内の 2 つの同一文字間の最大文字数 - 4

説明 - 繰り返される文字は「a」と「b」のみで、それらのインデックスは -

1. 2‘a’ first index 0 last 5 , characters in between 5-0-1=4
2. ‘b’ first index 1 last 4 , characters in between 4-1-1=2
   Maximum character in between repeating alphabets : 4
ログイン後にコピー

Input - String str = " AbcAaBcbC"

出力 - 文字列内の 2 つの同一文字間の最大文字数 - 5

説明 - 重複 文字は 'A '、'b'、'c'、およびそれらのインデックスは次のとおりです:

1. ‘A’ first index 0 last 3 , characters in between 3-0-1=2
2. ‘b’ first index 1 last 7 , characters in between 7-1-1=5
3. ‘c’ first index 2 last 6 , characters in between 6-2-1=3
   Maximum character in between repeating alphabets : 5
ログイン後にコピー

Note - 入力文字列が "abcdefg" の場合、重複する文字がないため、関数-1 を返します。

次のプログラムで使用されるメソッドは次のとおりです。

  • 文字列 Str[]

  • # を格納するために文字配列を使用します。 ## function maxChars(char str[],int n) は、繰り返される 2 つの文字の間の最大文字数を計算するために使用されます。

  • 変数 maxC を -1 に初期化します。

  • for ループで文字列の先頭から配列を走査します。

  • ネストされた for ループ内の残りの文字を反復処理し、重複する文字を検索します (str[i] == str[j] の場合)。

  • true の場合、文字間の差異はインデックスを減算することによって計算されます (temp = j - i - 1)。

  • この値がこれまでに見つかった最大値である場合は、それを maxC に格納します。

  • 文字列全体を走査した後、maxC を返します。

デモンストレーション

#include <stdio.h>
#include <stdio.h>
#include <math.h>
int maxChars(char str[],int n){
   int size = n;
   int maxC = -1;
   for (int i = 0; i < n - 1; i++)
      for (int j = i + 1; j < n; j++)
         if (str[i] == str[j]){
            int temp=abs(j-i-1);
            maxC = maxC>temp?maxC:temp;
         }
   return maxC;
}
// Driver code
int main(){
   char Str[] = "AbcAaBcbC";
   printf("Maximum number of characters between any two same character in a string :%d",
   maxChars(Str,9) );
   return 0;
}
ログイン後にコピー
出力

上記のコードを実行すると、次の出力が生成されます-

リーリー

以上がC 言語では、文字列内の 2 つの同一の文字の間にある最大文字数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!