C# 5 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下标。

    }

例:这是数组

static void bbb(string[] args)

        {

int[] a = new int[5]; //5是长度,

//int[] a = new int[5] { 90, 95, 89, 76, 99 };

//int[] a = new int[] { 90, 95, 89, 76, 99};

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

            {

                a[i] = (i + 1) * 10;

            }

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

            {

Console.WriteLine(a[j]);  //0下标。

            }

        }

例:球员的成绩总分 平均分

static void Main(string[] args)

        {

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 + "。");

        }

例:球员的最高分最低分

static void Main(string[] args)

        {

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);

        }

例:彩票生成器36选7

static void Main(string[] args)

        {

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--;

                }

            }

//显示彩票号码

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

            {

Console.Write(a[k] + "\t");

            }

        }

案例一:做一个教练为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]+"分。");

            }

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

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

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

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

作业;

1 20个手机号滚动显示随机抽出一个中奖号码来;  System.Threading.Thread.Sieep(100); 让滚动慢一点

2选班长,30个同学投票 从五个后候选人中选出来一个来 

//20个手机号滚动显示随机抽出一个中奖号码来;

static void Main(string[] args)

        {

string[] cellPhone = new string[] { "13012345678", "13109876543", "13287654678", "13309876789",

"13509878902", "13698374651", "13757893421", "13876561234","13909876543",

"15034567438", "15111234795", "15894574839", "18210394857", "18302938475" };

Random rand = new Random();

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

            {

                System.Threading.Thread.Sleep(100);                 //变慢一些。    

int sub = rand.Next(cellPhone.Length);             //随机生成数组的下标。

string s = cellPhone[sub];                //根据下标取数组的元素值。 

Console.Clear();            //清屏

Console.WriteLine(s);                //显示   

            }

        }

    }

}

//投票  30人投票,从5个候选人选一个出来。

static void Main(string[] args)

        {

int[] vote = new int[5];

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

            {

Console.Write("请第" + (i + 1) + "位同学投票(0-4):");

int temp = Convert.ToInt32(Console.ReadLine());

if (temp < 0 || temp > 4)

                {

Console.WriteLine("废票");

continue;

                }

else

                {

                    vote[temp]++;

                }

            }

//计算最终得票。        

int max = 0, maxSub = 0;

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

            {

//把每位候选人的票数显示出来。 

Console.WriteLine("第" + (i + 1) + "号候选人的票数是:" + vote[i]);

//计算最大值。     

if (vote[i] > max)

                {

                    max = vote[i];

                    maxSub = i;

                }

            }

//显示最终结果。      

Console.WriteLine("最终投票结果为:" + (maxSub + 1) + "号候选人当选,当选票数是" + max + "票。");

        }

    }

}

上一篇:洛谷1890 gcd区间


下一篇:车大棒浅谈for循环+canvas实现黑客帝国矩形阵