break、continue与数组


一、

1.break与continue.
这两个关键字一般放在循环的花括号里面使用。
break——结束整个循环。
continue——结束本次循环,进入下次循环。

break的案例:
    int i = 1;
    for(;;)
    {
        if(i>100)
        {
            break;
        }
        Console.Write(i+"\t");
        i++;
    }

 

continue的案例:
 for (int i = 1; i <= 100; i++)
 {
  if(i%2 == 0)
  {
   continue;
  }
  Console.Write(i + "\t");
 }

2.while循环

//初始条件

while(循环条件)

{
      //循环体
     //状态的改为
}

案例:
    int i = 1;
    int count=0; //记录与7有关的数字的个数
    while(i<=100)
    {
        if(i%7==0 || i%10==7||i/10==7)
        {
            Console.Write(i+"\t");
            count++;
            //1
        }
        i++;
        //2
    }
    //3
    Console.Write("共有"+count+"个与7相关的数");

3.do...while(循环条件)简单了解。

即使初始条件不满足循环条件,循环还会执行一次。

至少执行一次。

数组:解决同一类大量数据在内存存储和运算的功能。

分类:一维数组、二维数组、多维数组。

特点:连续,同一类数据。

二、

一维数组:豆角。
定义:指定类型,指定长度,指定名称。
int[] a = new int[5];  //5是长度。从1开始算。默认5个元素初始值都是0.
int[] a = new int[5] { 90, 95, 89, 76, 99 };
int[] a = new int[5] { 90, 95, 89 }; //语法有错,后面初始化的值必须是5个。
int[] a = new int[] { 90, 95, 89, 76, 99}; //计算机会根据后面的赋值,动态计算数组的长度。

赋值:
数组名[下标数值] = 值;
int[] a = new int[5];
a[0] = 10;
a[1] = 20;
a[2] = 30;
a[3] = 40;
a[4] = 50;

取值:
数组名[下标数值];  //下标数值从0开始。
Console.WriteLine(a[3]+a[0]);

数组的好处:
1.对于大量数据来说,保存的时候,定义一个数组即可解决。
2.用循环来控制数组的下标,可以对数组进行批量操作。
例如:
    int[] a = new int[5];
    //数组的批量赋值
    for (int i = 0; i < 5;i++ )
    {
        a[i] = (i + 1) * 10;
    }
    //数组的批量取值。
    for (int j = 0; j < 5;j++ )
    {
        Console.WriteLine(a[j]);  //0下标。
    }

案例一:做一个教练为6个球员打分的程序。    

            //定义一个保存球员成绩的数组

            int[] a = new int[6];

            //输入

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

            {
                Console.Write("请输入第"+(i+1)+"个球员的成绩:");
                a[i] = Convert.ToInt32(Console.ReadLine());
            }

            //输出

            for(int j=0;j<a.Length;j++)
            {
                Console.WriteLine("第"+(j+1)+"位球员的分数是"+a[j]+"分。");
            }

案例二:在案例一的基础上,显示球员总分和平均分。

           int[] a = new int[6];

            Console.WriteLine("********球员训练记录********");

            //输入
            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("请输入第"+(i+1)+"个球员的成绩:");
                a[i] = Convert.ToInt32(Console.ReadLine());
            }
            
            //输出每个球员的分
            for(int j=0;j<a.Length;j++)
            {
                Console.WriteLine(""+(j+1)+"位球员的分数是"+a[j]+"分。");
            }
            //计算并显示总分和平均分。
            int sum = 0;
            for(int i=0;i<a.Length;i++)
            {
                sum = sum + a[i];
            }
            double avg = 0;

            avg = 1.0 * sum / a.Length;
            Console.WriteLine("总分是:" + sum + "。平均分是:" + avg + "");

案例三:在案例二的基础上,显示最高分和最低分,以及相应球员的代号。

int[] a = new int[6];
            //输入
            for(int i=0;i<a.Length;i++)
            {
                Console.Write("请输入第"+(i+1)+"个球员的分数:");
                a[i] = Convert.ToInt32(Console.ReadLine());
            }

            //找最大和最小
            int max = 0, min = 100000;
            int maxSub = -1, minSub = -1;
            for(int i=0;i<a.Length;i++)
            {
                if(a[i]>max)
                {
                    max = a[i];
                    maxSub = i;
                }
               
           
                if (a[i] < min)
                {
                    min = a[i];
                    minSub = i;
                }
            }
            //输出
            maxSub++;
            minSub++;
            Console.WriteLine(maxSub+"号球员分数最高,分数是:"+max+""+minSub+"号球员分数最低,分数是:"+min);

 

案例四:青歌赛中有10个评委给一个选手打分,每打分后,要去掉一个最高分和一个最低分,计算该选手的平均得分。

案例五:做一个36选7的彩票生成器。

 int[] a = new int[7];

            Random rand = new Random();
            for (int i = 0; i < 7; i++)    //7--代表要生成7个不同的数
            {
                //生成一个随机数。
                int n = rand.Next(36);
                n++;
                
                //查重
                bool chong = false;
                for(int j=0;j<a.Length;j++)
                {
                    if(n == a[j])
                    {
                        chong = true;
                        break;
                    }
                }
                //才能确定n合不合理
                if(chong == false)
                {
                    a[i] = n;
                }
                else
                {
                    i--;
                }//if
            }//for

            //显示彩票号码
            for(int k = 0;k<a.Length;k++)
            {
                Console.Write(a[k] + "\t");
            }

 

posted @ 2014-12-27 12:05  五月阳光  阅读(410)  评论(0编辑  收藏  举报