>  기사  >  백엔드 개발  >  C#에서 스와핑

C#에서 스와핑

PHPz
PHPz원래의
2024-09-03 15:34:09802검색

이미 C Sharp 프로그래밍 언어로 발음되는 C#에 익숙하듯이 C#의 Swapping에 대해서도 직접적으로 이해할 수 있을 것입니다. 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);
}
}

위의 간단한 프로그램에서는 두 개의 정수 값을 가져와 세 번째 임시 변수를 사용하여 해당 값을 바꿨습니다.

출력:

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#에서 스와핑

확인하신 바와 같이 교체 과정은 다음과 같이 진행됩니다.

  • Y에 x값이 부여됩니다
  • y값은 Z에 부여됩니다
  • X에 z값이 부여됩니다

완벽하죠? 그렇다면 값을 할당하는 다른 방법을 시도해 볼 수 있을까요? 물론이죠.

  • 매우 간단합니다. 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으로 문의하세요.