您的位置:首页 > 编程语言 > C#

C# 数组

2016-03-13 08:45 543 查看
数组:具有相同类型的若干变量按有序的形式组织起来的一种形式。这些按序排列的同类数据元素的集合称为数组。

一维数组【相同数据类型】
第一种定义方式

int[] shuzu = new int[5];
for (int i = 0; i < 5; i++)
{
shuzu[i] = i + 1;
}
//索引从0开始
//赋值
//shuzu[0] = 1;
//shuzu[1] = 2;

//shuzu[2] = 3;
//shuzu[3] = 4;
//shuzu[4] = 5;
////shuzu[5] = 6;
////shuzu[6] = 7;
Console.WriteLine(shuzu[4]);


第二种定义方式

int[] shuzu = new int[] { 1,2,3,4,5 };
Console.WriteLine(shuzu[2]);


二维数组

int[,] shuzu = new int[3, 4];
int[,] shuzu = new int[,] {
{1,2,3,4},
{5,6,7,8},
{6,7,8,9}
};


string[,] shuzu = new string[,] {
{"  ","■","■","■","■","■",""},
{"  ","  ","  ","■","","",""},
{"  ","  ","  ","■","","",""},
{"  ","  ","■","■","■","",""},
{"  ","  ","  ","■","  ","  ",""},
{"  ","  ","  ","■","  ","  ",""},
{"■","■","■","■","■","■","■"}
};

for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
{
Console.Write(shuzu[i, j]);
}
Console.WriteLine();
}


三维数组

int[, ,] shuzu = new int[3, 2, 4];
{
{
{,,,},
{,,,}
},
{
{,,,},
{,,,}
},
{

{,,,},
{,,,}
}
};


foreach不仅可以应用于数组,还可以应用于集合

//foreach遍历数组中各个元素,执行内部语句
foreach(double d in fen)
{

d是数组里面的元素的代表,从第一个元素开始遍历
Console.WriteLine(d);
}


object 所有类的基类,可以接受任何数据类型

foreach (int a in shuzu)//遍历数组
//object在不知道是什么数据类型时使用,代替现在int的位置
{
Console.WriteLine(a);
}

object a = 1;
object b = "123";
object c = true;
object d = 3.14;


一维数组练习

从控制台输入10个人的年龄放入数组,
将十个人的年龄求总和

int [] age=new int [10];
int sum = 0;
for (int i = 0; i < 10; i++)
{
Console.Write("请输入第"+(i+1)+"个人的年龄:");
age[i] = int.Parse(Console.ReadLine());
sum += age[i];
}
Console.WriteLine(sum);


输入人名放进数组,输出第5个人的姓名

Console.Write("请输入有几个人:");
int a = int.Parse(Console.ReadLine());
string [] name =new string [a];
for (int i = 0; i < a;i++ )
{
Console.Write("请输入第" + (i + 1) + "个人的姓名:");
name[i] = Console.ReadLine();
}
Console.WriteLine(name[4]);


输入班级人数,根据人数,
挨个输入成绩,求平均分

Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
double [] fen = new double [a];
double sum = 0;
for (int i = 0; i < a;i++ )
{
Console.Write("请输入第"+(i+1)+"个人的分数:");
fen[i] = double.Parse(Console.ReadLine());
sum += fen[i];
}
Console.WriteLine("班级平均分为:"+sum/a);


冒泡排序 从大到小排列

int[] shuzu = new int[] { 3,1,8,4,0,5,6};
int zhong;
for (int i = 0; i < 7; i++)
{
for (int j = i; i < 6; j++)
{
if (shuzu[i] < shuzu[j + 1])
{
zhong = shuzu[i];
shuzu[i]=shuzu[j+1];
shuzu[j+1] = zhong;
}
}
}
for (int i=0; i<7; i++)
{
Console.WriteLine(shuzu[i]);
}


二维数组练习

输入班级人数,将每个人的
语文,数学,英语成绩输入二维数组

Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
double [,] shuzu = new double [a,3];

for (int i = 0; i < a; i++)
{
for (int j = 0; j < 3; j++)
{
if (j == 0)
{
Console.Write("请输入第"+(i+1)+"个人的语文成绩:");
}
if (j == 1)
{
Console.Write("请输入第" + (i + 1) + "个人的数学成绩:");
}

if (j == 2)
{
Console.Write("请输入第" + (i + 1) + "个人的英语成绩:");
}
shuzu[i, j] = double.Parse(Console.ReadLine());
}
}


冒泡排序和数组结合练习

输入人数,输入每个人的成绩
需要最高分,最低分
去掉两个最高分,去掉两个最低分,求平均分

Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
double[]fen=new double [a];
for (int i = 0; i <a; i++)
{
Console.Write("请输入第"+(i+1)+"个人的成绩");
fen[i] = double.Parse(Console.ReadLine());
}
double zhong;
for (int i = 0; i < a; i++)

{
for (int j = i; j< a-1; j++)
{
if (fen[i] < fen[j + 1])
{
zhong = fen[i];
fen[i] = fen[j + 1];
fen[j + 1] = zhong;
}
}
}

Console.WriteLine("最高分是"+fen[0]);
Console.WriteLine("最低分是"+fen[a-1]);
double sum = 0;
for (int i=2;i<a-2 ;i++ )
{
sum +=fen[i];
}
Console.WriteLine("平均分是"+sum/(a-4));


抽奖活动:
输入n个手机号码,滚动号码,5秒钟后停止
输出中奖人号码

Console.Write("请输入手机号码个数:");
int a = int.Parse(Console.ReadLine());
string [] shuzu = new string [a];
for (int i = 0; i < a; i++)
{
Console.Write("请输入第"+(i+1)+"个手机号码:");
shuzu[i] = Console.ReadLine();
}
Console.WriteLine("所有号码输入完毕,请按回车键开始滚动号码!");
Console.ReadLine();
Random ran = new Random();
int r = 0;
for (; ;)
{
int aa = ran.Next(a);
Console.Clear();
Console.WriteLine(shuzu[aa]);
System.Threading.Thread.Sleep(100);

if (r == 49)
{
//作弊代码
//Console.Clear();
//Console.WriteLine("110");
break;
}
r++;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: