您的位置:首页 > 产品设计 > UI/UE

c# break与continue运用,数组

2014-12-26 20:18 232 查看
二、
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]+"分。");
}
案例二:在案例一的基础上,显示球员总分和平均分。

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

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

//int[] a = new int[10];
//for (int t = 0; t < 10; t++)
//{
// Console.Write("请为选手打分:");
// a[t] = Convert.ToInt32(Console.ReadLine());
// for (int i = 1; i <= a.Length - 1; i++)
// {
// for (int j = 1; j <= a.Length - i; j++)
// {
// if (a[j - 1] < a[j])
// {
// int mm = a[j];
// a[j] = a[j - 1];
// a[j - 1] = mm;

// }
// }
// }
//}
// int sum = 0;
// for (int p = 2; p < a.Length - 2; p++)
// {

// sum = sum + a[p];
// }
// Console.Write("选手得分是"+1.0*sum/6);

案例五:做一个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--;
// }
//}
//显示彩票号码
// for(int k=0;k<a.Length ;k++)
// {
// Console .Write(a[k]+"\t");
// }

案例六 20个手机号 滚动显示,随机抽取一个中奖号码

方法一

//string[] call = new string[] { n个手机号 };
//Random rand = new Random();
//for (int i = 0; i < 500; i++)
//{
// //随机生成数组的下表
// System.Threading.Thread.Sleep(50);
// int sub=rand.Next (call.Length) ;
// //根据下表取数组的元素之
// string s=call[sub];
// Console .Clear();
// Console .WriteLine(s);
//}

方法2

//string[] a = new string[20];
//Random rand = new Random();
//for (int i = 0; i < a.Length; i++)
//{
// Console.Write("请输入第" + (i + 1) + "个号码:");
// a[i] = (Console.ReadLine());
//}
// for (int i = 0; i < a.Length; i++)
// {
// System.Threading.Thread.Sleep(50);
// int n = rand.Next(a.Length );
// string s = a
;
// Console.Clear();
// Console.Write("中奖号码是" + s);
//}

案例7 选班长 30个同学投票,从5个候选人中选出一个班长

int[] vote = new int[5];

for (int i = 0; i < 30; i++)
{
Console.Write("第" + (i + 1) + "个同学投票的结果是(a-1,b-2,c-3.d-4,e-5):");
int temp = Convert.ToInt32(Console.ReadLine());
if (temp <0|| temp >4)
{
Console.Write("废票");
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+1;
}
}
Console .WriteLine (maxsub+"号候选人当选");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: