首頁 >後端開發 >C#.Net教程 >C# 中的交換

C# 中的交換

PHPz
PHPz原創
2024-09-03 15:34:09881瀏覽

由於已經熟悉 C#(發音為 C Sharp 程式語言),我們可以直接了解 C# 中的 Swapping。 「交換」一詞與英語字典的單字有相同的意思。這都是關於價值觀的交換。讓我們了解如何使用 C# 來實現此技術。

交換 2 個數字

在兩個不同變數之間交換值時,我們可以透過兩種方式來實現。第一種方法是使用第三個變數(也稱為臨時變數),第二種方法是不使用任何其他變數。

讓我們看看下面如何使用第三個變數。

代碼:

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);
}
}

在上面的簡單程序中,我們採用了兩個整數值並使用 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 函數並檢查程式的行為。

  • 現在讓我們看看透過第二種方法交換兩個值而不使用第三個變數:

代碼:

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個號碼。

代碼:

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 個數字。為了清楚起見,我們在每個步驟之後保留了控制台輸出語句,並為變數取了較小的值,以便我們可以更輕鬆地理解正在處理的實際數學計算。

輸出:

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);
}
}

我們可以在這裡觀察到的一件事是,邏輯總是相同的。我們只是採用動態值而不是硬編碼值來交換。

輸出:

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 個變數嗎?

結論 - C# 中的交換

在這裡,我們使用 C# 程式語言成功地為兩個變數和三個變數創建了不同的交換技術。祝學習 C# 愉快。

以上是C# 中的交換的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn