先上结果
自己输入一组数据,然后按照从大到小进行排序
接下来看代码
namespace 练习
{
internal class Program
{
static void Main(string[] args)
{
int c;
string str=Console.ReadLine();
string[] result = str.Split(" ");
int[] array = new int[result.Length];
for (int h = 0; h < array.Length; h++)
{
array[h] = Convert.ToInt32(result[h]);
for (int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - 1 - i; j++)
{
if (array[j] < array[j + 1])
{
c = array[j];
array[j] = array[j + 1];
array[j + 1] = c;
}
}
}
}
foreach (int k in array)
{
Console.WriteLine(k);
}
}
}
}
分析每一段代码:
1.string str=Console.ReadLine(); //首先输入一组字符串;
string[] result = str.Split(" "); //Split意思是分割符,string才有Split,可以将要输入的数组进行分割;
int[] array = new int[result.Length];//创建一个array的数组,这个数组的长度就是输入数组的长度,将其转为int类型;
2.for (int h = 0; h < array.Length; h++)
{
array[h] = Convert.ToInt32(result[h]);//将已经输入的转化过的数据逐个存储到array内;
3.for (int i = 0; i < array.Length - 1; i++)
{
for (int j = 0; j < array.Length - 1 - i; j++)
{
if (array[j] < array[j + 1])
{
c = array[j];
array[j] = array[j + 1];
array[j + 1] = c;
}
}
}//这一段的代码是通过冒泡进行从大到小排序的,外循环(i)循环的次数是数组长度-1,内循环(j)循环的次数是数组长度-1-i;
4.foreach (int k in array)
{
Console.WriteLine(k);
}//最后只需要通过foreach将已经排序好的数组遍历出来,排序就完成了。