C# での交換

PHPz
PHPzオリジナル
2024-09-03 15:34:09881ブラウズ

C Sharp プログラミング言語として発音される C# についてはすでによく知られているので、C# でのスワッピングについては直接理解できます。スワッピングという言葉は、英語の辞書に載っている言葉と同じ意味を与えます。それはすべて価値観の交換に関するものです。 C# を使用してこの手法を実行する方法を見てみましょう。

2 つの数字を交換する

2 つの異なる変数間の値の交換では、2 つの方法で行うことができます。 1 つ目は一時変数としても知られる 3 番目の変数を使用する方法で、2 つ目は他の変数を使用しない方法です。

3 番目の変数を使用してどのように実行できるかを以下で確認してみましょう。

コード:

using System;
class First {
static void Main() {
int a=75,b=84,t;
t=a;
a=b;
b=t;
Console.WriteLine("Values after swapping:");
Console.WriteLine("a is :"+a);
Console.WriteLine("b is :"+b);
}
}

上記の単純なプログラムでは、2 つの整数値を取得し、3rd 一時変数を使用してそれらの値を交換しました。

出力:

C# での交換

  • 次に、ユーザー入力を通じて変数の値を取得する方法を見てみましょう。

コード:

using System;
class First {
static void Main() {
string a,b;
int temp,c,d;
Console.Write("Enter value for a :");
a = Console.ReadLine();
c = Convert.ToInt32(a);
Console.WriteLine("A's value is {0}", c);
Console.Write("Enter value for b : ");
b = Console.ReadLine();
d = Convert.ToInt32(b);
Console.WriteLine("B's value is {0}", d);
temp=c;
c=d;
d=temp;
Console.WriteLine("Values after swapping are:");
Console.WriteLine("a is : "+c);
Console.WriteLine("b is : "+d);
}
}

ここでは、ReadLine メソッドを使用してユーザー入力値を読み取りました。そして、その値を整数に変換しました。そうでない場合は、ASCII 値として読み取られます。

出力:

C# での交換

ToInt32 関数を削除して、プログラムがどのように動作するかを確認してみてください。

  • 次に、3 番目の変数を使用せずに 2 番目のメソッドによる 2 つの値の交換を見てみましょう。

コード:

using System;
class First {
static void Main() {
int a=85,b=58;
a=a+b;
b=a-b;
a=a-b;
Console.WriteLine("Values after swapping :");
Console.WriteLine("a is "+a);
Console.WriteLine("b is "+b);
}
}

出力:

C# での交換

上記と同様に、練習として、ユーザーが入力した値を使用して 3 番目の変数を使用せずに 2 つの変数を交換してみてはいかがでしょうか?

3 つの数字を交換する

  • 2 つの数字の交換が正常に実行されたら、次に 3 つの数字の交換に進みましょう。

コード:

using System;
class First {
static void Main() {
int a=4,b=5,c=6;
//swapping
a=a+b+c;
Console.WriteLine("After First step A value is "+a);
b=a-(b+c);
Console.WriteLine("After Second step B value is "+b);
c=a-(b+c);
Console.WriteLine("After Third step C value is "+c);
a=a-(b+c);
Console.WriteLine("After Fourth step A value is "+a);
Console.WriteLine("Values after swapping are:");
Console.WriteLine("a is "+a);
Console.WriteLine("b is "+b);
Console.WriteLine("c is "+c);
}
}

3 番目の変数を使用せずに数値を交換する方法についてはすでに理解しているので、3 つの数値の交換にも同じ方法を使用しました。明らかに、処理される実際の数学的計算をより簡単に理解できるように、各ステップの後にコンソール出力ステートメントを保持し、変数に小さな値を取得しました。

出力:

C# での交換

  • さて、ユーザーが入力した値を使用してみましょうか?

コード:

using System;
clas1s First {
static void Main() {
string a,b,c;
int x,y,z;
Console.Write("Enter value for x :");
a = Console.ReadLine();
x = Convert.ToInt32(a);
Console.WriteLine("X's value is {0}", x);
Console.Write("Enter value for y : ");
b = Console.ReadLine();
y = Convert.ToInt32(b);
Console.WriteLine("Y's value is {0}", y);
Console.Write("Enter value for z : ");
c = Console.ReadLine();
z = Convert.ToInt32(c);
Console.WriteLine("Z's value is {0}", z);
x=x+y+z;
Console.WriteLine("After Fourth step X value is "+x);
y=x-(y+z);
Console.WriteLine("After Second step Y value is "+y);
z=x-(y+z);
Console.WriteLine("After Third step Z value is "+z);
x=x-(y+z);
Console.WriteLine("After Fourth step X value is "+x);
Console.WriteLine("Values after swapping are:");
Console.WriteLine("X is : "+x);
Console.WriteLine("Y is : "+y);
Console.WriteLine("Z is : "+z);
}
}

ここで観察できることの 1 つは、ロジックは常に同じであるということです。スワップ用にハードコードされた値ではなく、動的な値を取得しているだけです。

出力:

C# での交換

あなたが確認したように、スワップのプロセスは次のように行われます:

  • X の値が Y に与えられます
  • y 値は Z に与えられます
  • Z 値が X に与えられます

完璧ですよね?それでは、値を割り当てる他の方法を試してみることはできますか?もちろん、はい。

  • 非常に簡単です。Y 値と Z 値を順番に割り当てるか、Y 値を割り当てて合計を計算するだけで、要素の順序を変更できます。以下を見てみましょう。

コード:

width="638">using System;
class First {
static void Main() {
string a,b,c;
int x,y,z;
Console.Write("Enter value for x :");
a = Console.ReadLine();
x = Convert.ToInt32(a);
Console.WriteLine("X's value is {0}", x);
Console.Write("Enter value for y : ");
b = Console.ReadLine();
y = Convert.ToInt32(b);
Console.WriteLine("Y's value is {0}", y);
Console.Write("Enter value for z : ");
c = Console.ReadLine();
z = Convert.ToInt32(c);
Console.WriteLine("Z's value is {0}", z);
x=x+y+z;
Console.WriteLine("After Fourth step X value is "+x);
z=x-(y+z);
Console.WriteLine("After Second step Z value is "+z);
y=x-(y+z);
Console.WriteLine("After Third step Y value is "+y);
x=x-(y+z);
Console.WriteLine("After Fourth step X value is "+x);
Console.WriteLine("Values after swapping are:");
Console.WriteLine("X is : "+x);
Console.WriteLine("Y is : "+y);
Console.WriteLine("Z is : "+z);
}
}

上記のプログラムの唯一の違いは、強調表示されている部分です。

出力:

C# での交換

上記のように、スワッピングの出力は次のように変更されました:

  • x の値は Z に割り当てられます
  • y 値は X に割り当てられます
  • Z 値が Y に割り当てられます

他の異なる方法で 3 つの数字を交換してみることができます。そこで、練習として、4 番目の一時変数を使用して 3 つの変数を交換してみてはいかがでしょうか?

結論 - C# でのスワップ

ここでは、C# プログラミング言語を使用して、2 つの変数と 3 つの変数の両方に対してさまざまなスワッピング手法を作成することに成功しました。 C# を楽しく学びましょう。

以上がC# での交換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。