8、C#基础整理(数组和冒泡排序)

数组

概念:定义一组同类型的指定个数的变量,索引从0开始

例:

int[] shuname = new int[10];//定义一组有10个数据的数组

shuname[0] = 1;

Console.WriteLine(shuname[0]);//打印出1

数组与for循环结合的练习:

1、彩票问题:通过数组录入随机生成的红球。

//定义一个含有6个数据的数组

int[] hongqiu = new int[6];

Random r = new Random();

//随机生成红球的方法

for (int i = 0; i < 6; i++)

{

    hongqiu[i] = r.Next(1, 34);

    for (int j = 0; j < i; j++)

    {

        if (hongqiu[i] == hongqiu[j])

        {

            //判断是否出现重复的红球,若出现就i--再重复循环

            i--;

            break;

        }

    }



}

Console.WriteLine("红球为:");

//打印出来红球

for (int i = 0; i < 6; i++)

{

    Console.Write("{0} ", hongqiu[i]);

}

//随机生成一个蓝球

int blue;

while(true)

{

    blue = r.Next(1,17);

    for(int i = 0;i<6;i++)

    {

        //判断蓝球是否与红球中任意一数重复

        if (blue != hongqiu[i])

        {

            continue;

        }

        else

            break;

    }

    break;

}

Console.WriteLine("蓝球为:{0}", blue);

2、遍历数组

for (int i = 0;i<hongqiu.Length;i++)

{

       int h;

       h = hongqiu[i];

       Console.WriteLine(h);

}

hongqiu.Length是数组的元素个数

3、自动遍历数组的方法:foreach

foreach (int p in hongqiu)//p的数据类型需要与数组保持一致

{

    Console.WriteLine(p);

}

数组的等量代换:冒泡排序

1、等量代换的思路:

int a = 0;

int b = 1;

//要交换a和b,需要一个中间变量c

int c = a;

a = b;

b = c;

2、在数组中通过for循环的运用

思路:用两层for循环嵌套:外层的for循环(从索引为0开始)给 i 一个数组中的值

        内层的for循环(从索引为 i 开始)给 j 一个数组中的值,并与 i 进行循环比较,最后排出想要的顺序。

例:输入五个人的成绩,进行升序的冒泡排序

            int[] shuzu = new int[5];

            Console.WriteLine("请输入五个人的成绩:");

            for (int i = 0; i < 5; i++)

            {

                shuzu[i] = int.Parse(Console.ReadLine());

            }

            for (int i = 0; i < 5; i++)

            {

                for (int j = i+1; j < 5; j++)

                {

                    if (shuzu[i] > shuzu[j])

                    {

                        int zhong = shuzu[j];

                        shuzu[j] = shuzu[i];

                        shuzu[i] = zhong;

                    }

                }

            }

            foreach (int a in shuzu)

            {

                Console.WriteLine(a);

            }

 

你可能感兴趣的:(冒泡排序)