黑马程序员_怎样实现元素的反转
怎样实现元素的反转
1.利用中间变量赋值交换
temp = a; 把 a 的值赋给 temp
a = b; 把 b 的值赋给 a
b = temp; 把 temp 的值赋给 b
这样就实现了两个变量的值的交换
static void Main(string[] args)
{
int a = 10, b = 5;
int temp;
Console.Write("反转前的元素:a={0}, b={1}", a, b);
temp = a;
a = b;
b = temp;
Console.Write("反转后的元素:a={0}, b={1}", a, b);
Console.ReadKey();
}
2.调用方法连续交换
static void Main(string[] args)
{
int[] Array = new int[5];
for (int i = 1; i < 6; i++)
{
Console.WriteLine("请输入第{0}个数字",i);
Array[i - 1] = int.Parse(Console.ReadLine());
}
Console.Write("反转前的元素:");
foreach (int element in Array)
{
Console.Write(element + ",");
}
ReverseArray(Array);
Console.Write("反转后的元素:");
foreach (int element in Array)
{
Console.Write(element + ",");
}
Console.ReadLine();
}
private static void ReverseArray(int[] array)
{
int temp;
for (int i = 0; i < array.Length / 2; i++)
{
temp = array[array.Length - 1 - i];
array[array.Length - 1 - i] = array[i];
array[i] = temp;
}
}
3.把一句任意的话,反序输出
//接收用户输入的一句任意的话,以反序方式输出。
static void Main(string[] args)
{
//让用户输入一句任意的话
Console.WriteLine("请输入一句英文:");
string s = Console.ReadLine();
//调用反转元素方法
string str = ReverseString(s);
Console.Write(str);
Console.ReadKey();
}
/// <summary>
/// 反转元素的方法
/// </summary>
/// <param name="s"></param>
/// <returns></returns>
public static string ReverseString(string s)
{
char[] chars = s.ToCharArray();
Array.Reverse(chars);
return new string(chars);
}
4.接收用户输入的一句英文,将其中的单词以反序输出
static void Main(string[] args)
{
//I am a student反转成student a am I
string S = "I am a student";
char[] C = new char[] { ' ' };
string[] n = S.Split(C);
ReverseArray(n);
for (int i = 0; i < n.Length; i++)
{
if (i != 0)
{
Console.Write(" ");
}
Console.Write(n[i]);
}
Console.ReadKey();
}
private static void ReverseArray(string[] array)
{
string temp;
for (int i = 0; i < array.Length / 2; i++)
{
temp = array[array.Length - 1 - i];
array[array.Length - 1 - i] = array[i];
array[i] = temp;
}
}