首页  >  文章  >  后端开发  >  C# 中的交换

C# 中的交换

PHPz
PHPz原创
2024-09-03 15:34:09804浏览

由于已经熟悉 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