12月26 数组
********数组(解决同一类大量数据在内存存储和运算的功能)**********
分类:一维数组、二维数组、三维数组
一、一维数组:豆角形
1、定义: int[]a=new int[5];
其中int为数组类型,int[]代表int型数组,a为数组名称,new是创建的意思,5是数组的长度。
数组的定义类型很多,如:int[]a=new int[5]{20,30,40,50,60};这个是定义的同时赋值。
注意:这与C语言、java不同,后面的数字个数一定得与前面数字相同。
取值:Console.Write(a[i]);取值的形式
2、数组的好处:
(1)、对大量同类型的数据来说定义一个数组即可(简单方便)
(2)、用循环可以控制下标进行批量操作。
例如:int[]a=new int[5];
for(int i=0;i<5;i++) // 批量赋值
{
a[i]=(i+1)*10;
}
console.write(a[i]);
3、案例:
(1)、6个评委给一个选手打分,打分后,去掉一个最高,一个最低。
static void Main(string[] args)
{
int i, j,max=0,min=10000,k=0,p=0;
int[] a = new int[10];
for (i = 0; i < 10; i++)
{
Console.Write("请输入你打的分数");
a[i]=Convert.ToInt32( Console.ReadLine());
}
for (j = 0; j< 10; j++)
{
if (a[j] > max)
{
max = a[j];
}
if (a[j] < min)
{
min = a[j];
}
}
for (j = 0; j < 10; j++)
{
if (max == a[j])
{ k++; }
if (min == a[j])
{ p++; }
}
for (j = 0; j < 10; j++)
{
if (max != a[j] && min != a[j])
{ Console.Write(a[j] + "\t"); }
for (; k > 1;k-- )
{ Console.Write(max + "\t"); }
for (; p > 1; p--)
{ Console.Write(min + "\t"); }
}
(2)、做一个36选7的彩票生成器。
static void aaa(string[] args)
{
int i, j, k;
int[]a = new int[7];
Random rand = new Random(); //随机生成器不能放在for循环里面
for (i = 0; i < 7; i++)
{
int n = rand.Next(36);
n++;
// 查重
bool chong = false;
for (j = 0; j <a.Length; j++)
{
if (n == a[j])
{
chong = true;
break;
}
}
if (chong == false)
{
a[i] = n;
}
else { i--; } // 将不符合要求的数清除,重新循环读入
}
for (k = 0; k < a.Length; k++)
{
Console.Write(a[k] + "\t");
}
(3)、抽奖:从20个手机号中随机抽取一个中奖号码(滚动显示)。
static void bbb(string[] args)
{
int i;
long[] a = new long[20]
{ 18369195769, 18369192343, 18365432669, 15095765549, 13769195745, 18234567869, 15067889909, 13895766678, 13789201549,15192575779,13899265549,13895766678,13995765549,18369192343,18369115553,1509333333,15888888549,
15095765549,15095766666,15091234566 };
Random rand=new Random();
for (i = 0; i < 200; i++)
{
int n = rand.Next(20);
System.Threading.Thread.Sleep(100); //调整每一个号码的显示时间
Console.Clear(); // 清屏
Console.Write(a[n] + "\t");
}
(4)、选班长:30人投票,从五个人中选出一人当班长。
int i, j,max=0;
int[] a = new int[5];
int[] n =new int[30];
Random rand = new Random(); //生成随机数
for (i = 0; i < 30; i++)
{
n[i] = rand.Next(5); //将生成的数赋给一个数组
Console.Write(n[i] + "\t");
for (j = 0; j < 5; j++) //经过循环将每个人所得票数统计一下
{
if (j == n[i])
{
a[j]++;
}
}
}
for (j = 0; j < 5; j++) // 找出票数最高的人
{
if (a[j] > max)
{
max = a[j];
}
}
Console.Write("a["+j+"]获得最高票,最高得票数是" + max + "票");
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。