yp秋水伊人

导航

数组

 

数组数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,编号称为下标。

//一维数组
//数组初始化 ,创建数组
int[]array=new int[5];//数组长度为5
array[0]=1;
array[1]=2;
array[2] = 3;
array[3] = 4;
array[4] = 5;
////将2号索引位置改成7
array[2]=7;
////想查看3号索引位置是什么值
Console.WriteLine(array[3]);
////把4号的索引位置的值赋值给a
int a=array[4];
////将1号索引位置的值变成从控制台输入
array[1] = int.Parse(Console.ReadLine());
Console.ReadLine();

//直接赋值的数组
int[] array1 = new int[] {1,2,3,4,5 };


列://存放5个人的人名
string [] name=new string[5];
for (int i = 1; i <= 5; i++)
{
Console.Write("请输入第"+i+"一个人的名字:");
name[i-1] = Console.ReadLine();
}
// //查看第三个人的姓名
Console.WriteLine(name[2]);
// //将每个人的姓名都打印出来
for (int i = 0; i <= 5; i++)
{
Console.WriteLine(name[i]);

}
Console.ReadLine();

列://输入5个人的分数,求平均分
double[] fen=new double[5];
for (int i = 0; i < 5; i++)
{
Console.Write("请输入第"+(i+1)+"个人的分数:");
fen[i] = double.Parse(Console.ReadLine());

}
double sum = 0;
for (int i = 0; i < 5; i++)
{
sum += fen[i];
}
Console.WriteLine("平均分是:"+(sum/5));
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 sum = 0;
for (int i = 0; i < a; i++)
{
sum += fen[i];
}
Console.WriteLine("平均分是:" + (sum / a));
Console.ReadLine();

//数组在创建的时候,需要规定数据类型,初始长度


//二维数组
int[,] shuzu=new int[3,4];
3 表示有3个一维数组
4 表示每一个一维数组有4个元素


//给第一个一维数组的2号索引赋值
shuzu[0, 2] = 3;

//直接赋值
int[,] shuzu1 = new int[,]{
{1,2,3,4},
{2,3,4,5},
{3,4,5,6},
};

//根据二维数组 打印一个‘王’字
string[,] wang = new string[,]
{
{" ","■","■","■","■","■",""},
{" "," "," ","■","","",""},
{" "," "," ","■","","",""},
{" "," ","■","■","■","",""},
{" "," "," ","■","","",""},
{" "," "," ","■","","",""},
{"■","■","■","■","■","■","■"},
};
//打印出王
for (int i = 0; i < 7; i++)
{
for (int j = 0; j < 7; j++)
{
Console.Write(wang[i, j]);
}
Console.WriteLine();
}

Console.ReadLine();


//多维数组
int[, ,] myarray = new int[2, 4, 2];

//2 表示有几个二位数组
//4 表示每一个二维数组里有几个一维数组
//2 表示有每一个一维数组里有几个元素


//列题: 从控制台输入1班级人数,每个人的年龄求总合
//将所有人的年龄求总和 一维数组的

Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
int[] age = new int[a];
int sum = 0;
for (int i = 0; i < a; i++)//因索引是从1开始的
{
Console.Write("请输入第{0}个人的年龄:", (i + 1));
age[i] = int.Parse(Console.ReadLine());
sum += age[i];
}
Console.WriteLine("年龄的总和是:" + sum);

Console.ReadLine();

//输入班级人数,存放每个人的语文、数学、英语成绩进入数组
Console.WriteLine("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
double[,] score = new double[a, 3];
for (int i = 0; i < a; i++)
{
Console.WriteLine("请输入第{0}个人的语文成绩:",(i+1));
score[i, 0] = double.Parse(Console.ReadLine());
Console.WriteLine("请输入第{0}个人的数学成绩:", (i + 1));
score[i, 1] = double.Parse(Console.ReadLine());
Console.WriteLine("请输入第{0}个人的英语成绩:", (i + 1));
score[i, 2] = double.Parse(Console.ReadLine());
}
////求每个人的总分
double[] zong = new double[a];
for (int i = 0; i < a; i++)
{
zong[i] = score[i, 0] + score[i, 1] + score[i, 2];
Console.WriteLine("第{0}个人的总分是:{1}", (i + 1), zong[i]);
}

//求语文的总分 ——0号那一列相加
//求数学的平均分——先求出总的再除以
double yuzong = 0;
double shuzong = 0;
for (int i = 0; i < a; i++)
{
yuzong += score[i, 0];
shuzong += score[i, 1];
}
Console.WriteLine("语文总分是:" + yuzong);
Console.WriteLine("数学总分是:" + shuzong / a);

Console.ReadLine();


////冒泡排序。求年龄最大
Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
int[] age = new int[a];
for (int i = 0; i < a; i++)//因索引是从1开始的
{
Console.Write("请输入第{0}个人的年龄:", (i + 1));
age[i] = int.Parse(Console.ReadLine());
}
////冒泡排序,数组中不自动排序(第一位跟第二位比较,小于就拿过来替换掉)
for (int i = 0; i < a; i++)
{
for (int j = i; j < a - 1; j++)
{
if (age[i] < age[j + 1])
{
int zhong = age[i];
age[i] = age[j + 1];
age[j + 1] = zhong;//中间变量
}
}
}
for (int i = 0; i < a; i++)
{
Console.WriteLine(age[i]);
}
Console.ReadLine();

//33 22 11 66 44
//33 22 11 66 44
//33 22 11 66 44
//66 22 11 33 44
//66 33 11 22 44
//66 44 11 22 33
//66 44 22 11 33
//66 44 33 11 22
//66 44 33 22 11

//随机生成10个100以内的不重复的整数放入数组,打印
//然后排序,要求,从小到大

int[] suiji = new int[10];//长度为10
Random ran = new Random();//在for循环的外面加随机数的初始化
for (int i = 0; i < 10; i++)//从0开始到9,执行了10遍
{
bool b = true;//来判断它们是否有重复
int a = ran.Next(101);//随机生成100以内的数
for (int j = 0; j < i; j++)//为了比对
{
if (a == suiji[i])
{
b = false;
i--;//为了保证随机出的数是10个,减1让其重新执行。
}
}
if (b)
{
suiji[i] = a;//执行第一遍时,j<i不满足条件就不用比对了,直接走b=true,到这一步。
}
}

////打印每一个数
for (int i = 0; i < 10; i++)
{
Console.WriteLine(suiji[i]);
}
Console.WriteLine();

////冒泡排序
for (int i = 0; i < 10; i++)
{
for (int j = i; j < 9; j++)
{
if (suiji[i] > suiji[j + 1])
{
int zhong = suiji[i];
suiji[i] = suiji[j + 1];
suiji[j + 1] = zhong;
}
}
}
////打印每一个数
for (int i = 0; i < 10; i++)
{
Console.WriteLine(suiji[i]);
}
Console.ReadLine();


// 双色球随机出号码
// 6个红色球,1个蓝色球
// 红色球号码不重复,从小到大排列,打印的时候拼上蓝色球
int[] suiji = new int[6];
Random ran = new Random();
int x = ran.Next(1, 17);
for (int i = 0; i < 6; i++)
{
bool b = true;
int a = ran.Next(1, 33);
for (int j = 0; j < i; j++)
{
if (a == suiji[j])
{
b = false;
i--;
}
}
if (b)
{
suiji[i] = a;
}
}
for (int i = 0; i < 6; i++)
{
for (int j = i; j < 5; j++)
{
if (suiji[i] > suiji[j + 1])
{
int zhong = suiji[i];
suiji[i] = suiji[j + 1];
suiji[j + 1] = zhong;
}
}
}
for (int i = 0; i < 6; i++)
{
Console.Write(suiji[i] + "\t");
}
Console.Write(x);
Console.ReadLine();


//抽奖活动
//输入有多少个参与人员
//输入每个人的手机号码
//进行滚动显示 先清屏 随机一个索引 根据索引打印 等待0.1秒

Console.Write("请输入参与的人数:");
int a = int.Parse(Console.ReadLine());
string[]jiang=new string[a];
for (int i = 0; i < a; i++)
{
Console.Write("请输入第{0}个人的手机号码:",(i+1));
jiang[i] = Console.ReadLine();//接收
}
Console.WriteLine("所有号码输入完毕,请按回车键进行抽奖活动!!");
Console.ReadLine();//让它卡这 直到接收到回车才继续往下走

Random ran = new Random();
for (int i = 0; i < 30; i++)//0.1秒一次 30次就是3秒钟 3秒钟之后停止
{
Console.Clear();//清屏
int aa = ran.Next(a);//随机一个索引,a表示0到a-1
Console.WriteLine("中奖号码:"+jiang[aa]);
System.Threading.Thread.Sleep(100);//等待100毫秒
}
//作弊
Console.Clear();
Console.WriteLine("1*****1");
Console.ReadLine();
}
}
}

posted on 2016-08-31 20:55  yp秋水伊人  阅读(146)  评论(0编辑  收藏  举报