0728二维数组/集合

二维数组
int [,] array = new int[5,3];//有五个一维数组,每一个一维数组有3个元素

/打印出来一个“王”这个字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.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
double sum1= 0;
double sum2 = 0;
double[,] a = new double[n, 3];
for (int i = 0; i < n; i++)
{
Console.Write("请输入第"+(i+1)+"个人的语文成绩:");
a[i, 0] = double.Parse(Console.ReadLine());
sum1 +=a[i,0];
Console.Write("请输入第" + (i + 1) + "个人的数学成绩:");
a[i, 1] = double.Parse(Console.ReadLine());
sum2 += a[i, 1];
Console.Write("请输入第" + (i + 1) + "个人的英语成绩:");
a[i, 2] = double.Parse(Console.ReadLine());
}
for (int i = 0; i < n;i++ )
{
for (int j = i; j < n-1;j++ )
{
if (a[i,2]<a[j+1,2])

{
double zhong=a[i,2];
a[i, 2] = a[j + 1, 2];
a[j + 1, 2] = zhong;

}
}
}
Console.WriteLine("语文总分为"+sum1+"分");
Console.WriteLine("数学平均分为"+sum2/n+"分");
Console.WriteLine("英语最高分为"+a[0,2]);
Console.WriteLine("英语最低分为"+a[n-1,2]);
Console.ReadLine();

多维数组
int[, ,] shuzu = new int[4, 3, 2];//有四个二维数组,每个二维数组里面有3个1维数组,每个1维数组里面有2个元素
string[, ,] gao = new string[3, 4, 1]

 {
{
 {"张三"},{"李四"},{"王五"},{"赵六"}
},
 {
 {"冯七"},{"王八"},{"张全蛋"},{"小沈阳"}
 },
 {
 {"刘能"},{"赵四"},{"赵本山"},{"岳云鹏"}
}
};

split 分离

一次性接收姓名、年龄、工作单位
Console.Write("请输入您的姓名、年龄、工作单位(**-**-**):");
string quan = Console.ReadLine();
string[] array = quan.Split(‘-‘);
for (int i = 0; i < array.Length; i++)
{
 Console.WriteLine(array[i]);
}
Console.ReadLine();

集合

ArrayList与Array的不同

(1)ArrayList是集合,而Array是数组;

(2)ArrayList是具体类,Array是抽象类;

(3)获取数组的元素数时使用Length属性,而获取ArrayList集合的元素数时使用Count属性;

(4)数组可以有多维,而ArrayList只能是一维。

ArrayList al = new ArrayList();//初始化
al.Add(5);
al.Add(3);
al.Add(6);
al.Add(4);
al.Add(1);
al.Add(2);
al.Add("2");
al.Add("hello");
al.Add(true);
al[3] = "你好";
al.Clear(); //移除所有元素
ArrayList al1 = new ArrayList();
al1 = (ArrayList)al.Clone();//克隆
Console.WriteLine(al1.Contains("2"));//判断是否包含
Console.WriteLine(al1.IndexOf(11));//获取第一次出现该元素的索引号
Console.WriteLine(al1.LastIndexOf(2));//获取最后一次出现该元素的索引号
al.Insert(2,"Hello");//插入某个索引位置某个元素

al.Remove("hello");//移除某个第一次出现的元素

al.RemoveAt(3);//移除某个索引位置的元素

al.Sort();//排序 ,升序
al.Reverse();//翻转整个集合
Console.WriteLine(al[2]);
Console.WriteLine(al.Count);
Console.ReadLine();

练习

//输入班级人数,输入每个人的姓名、语数英成绩进入集合
//求语文的总分,数学的平均分,
//英语的最高分的人的姓名及所有科目的分数(冒泡排序)
//0 姓名 4 8 12
//1 语文成绩5 9 13
//2 数学成绩6 10 14
//3 英语成绩7 11 15
Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
double yu = 0;
double shu = 0;
ArrayList al = new ArrayList();
for (int i = 0; i < n; i++)
{
Console.Write("请输入第{0}个人的姓名:",i+1);
al.Add(Console.ReadLine());
Console.Write("请输入第{0}个人的语文成绩:",i+1);
al.Add(double.Parse(Console.ReadLine()));
yu += double.Parse(al[al.Count - 1].ToString());
Console.Write("请输入第{0}个人的数学成绩:", i + 1);
al.Add(double.Parse(Console.ReadLine()));
shu += double.Parse(al[al.Count - 1].ToString());
Console.Write("请输入第{0}个人的英语成绩:", i + 1);
al.Add(double.Parse(Console.ReadLine()));
}
Console.WriteLine("所有信息输入完毕,请按回车键继续!");
Console.ReadLine();
Console.WriteLine("语文的总分是:"+yu);
Console.WriteLine("数学的平均分是:"+(shu/n));

for (int i = 3; i < 4*n-1; i+=4)
{
for (int j = i; j < 4 * n - 4; j += 4)
{
if (double.Parse(al[i].ToString()) < double.Parse(al[j + 4].ToString()))
{
//换姓名
object zhong = al[i - 3];
al[i - 3] = al[j + 1];
al[j + 1] = zhong;
//换语文
zhong = al[i - 2];
al[i - 2] = al[j + 2];
al[j + 2] = zhong;
//换数学
zhong = al[i - 1];
al[i - 1] = al[j + 3];
al[j + 3] = zhong;
//换英语
zhong = al[i];
al[i] = al[j + 4];
al[j + 4] = zhong;
}
}
}
Console.WriteLine("英语最高分的学生是{0},英语分数是{1},语文分数是{2},数学分数{3}",al[0],al[3],al[1],al[2]);
Console.ReadLine();

时间: 2024-08-07 21:19:55

0728二维数组/集合的相关文章

二维数组,多维数组,集合。

一.二维数组 int [,] array=new int [m,n];表示建立一个名叫array的int数组,这个数组有m个一维数组,每个一维数组有n个因素. array[m,n]表示索引号是为第m的数组,索引号是n的那个因素. 与for循环的嵌套相呼应,m个数组表示有m次外循环,n个因素表示有n次内循环. 二.多维数组 int [,,] shuzu=new int [4,3,2]; 4:有4个二维数组: 3:每个二位数组里有3个一维数组: 2:每个一维数组里有2个因素. 三.集合 集合只能是一

二维数组,矩形数组 集合

二维数组,矩形数组 集合 二维数组,矩形数组集合 一.二维数组: 一维数组----豆角 二维数组----表格 1)定义: 一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组变量名 = new 数据类型[数组长度]{1,2,3....}; 2)二维数组: 数据类型[,] 数组变量名 = new 数据类型[行数,列数]; int[,] a = new int[3,4]; 赋值: a[行下标,列下标] = 值       下标都是从0开始的 取值: a[行下标

二维数组,锯齿数组和集合

一.二维数组 二维数组:一维数组----豆角二维数组----表格 定义:1.一维数组:数据类型[] 数组变量名 = new 数据类型[数组长度];数据类型[] 数组变量名 = new 数据类型[数组长度]{1,2,3....}; 2.二维数组:数据类型[,] 数组变量名 = new 数据类型[行数,列数];int[,] a = new int[3,4]; 赋值: a[行下标,列下标] = 值 下标都是从0开始的取值: a[行下标,列下标] 题目:一个班6个人,从键盘输入每个学号语文,数学,外语成

二维数组与集合

//int[] shu = new int[] { 1,2,3}; ////二维数组 //int [,] array = new int[4,2]; ////4,表示有四个一维数组 ////2,表示每一个一维数组有2个元素 //int[,] shuzu = new int[,] //{ //{1,2}, //{3,4}, //{5,6}, //{7,8} //}; //for (int i = 0; i < 4; i++) //{ // for (int j = 0; j < 2; j++)

20160423 二维数组,锯齿数组和集合

2016-04-23  20:46:26 一.二维数组: 一维数组----豆角 二维数组----表格 1)定义: 一维数组: 数据类型[] 数组变量名 = new 数据类型[数组长度]; 数据类型[] 数组变量名 = new 数据类型[数组长度]{1,2,3....}; 2)二维数组: 数据类型[,] 数组变量名 = new 数据类型[行数,列数]; int[,] a = new int[3,4]; 赋值: a[行下标,列下标] = 值       下标都是从0开始的 取值: a[行下标,列下标

7.28 二维数组,集合

int [,] array = new int[4,2];//4,表示有四个一维数组//2,表示每一个一维数组有2个元素int[,] shuzu = new int[,] {{1,2},{3,4},{5,6},{7,8} };for (int i = 0; i < 4; i++){for (int j = 0; j < 2; j++){Console.Write(shuzu[i,j]+"\t");}} 打印出来一个“王”这个字string[,] wang = new str

二维数组、集合示例及练习

二位数组的创建.赋值.提取示例: 二维数组练习:语文数学外语共三门课的成绩,共九个人,输入到一个二维数组中 定义集合并添加数据示例: 移除数据示例: 移除数据索引为某数的示例: 计算数据中共有几组数据示例: 集合的练习: 练习一:输入人数,录入分数,存到集合里面,之后再读取出来,求平均分 练习二:输入人数,输入每一个人的分数,求平均分,并排序,升序 练习三:输入人数,输入每一个人的分数,求平均分,排列为降序 集合的语句示例: 示例一:清空集合中所有数据 示例二:查看集合中第一个为12的数据的索引

二维数组与类的定义_DAY06

1:二维数组(理解): (1)格式:   1:int[][] arr = new int[3][2];  2:int[][] arr = new int[3][];   3:int[][] arr = {{1,2,3},{4,5},{6,7,8,9}};   内存图: 格式1的内存图: 格式2的内存图:                数组穿参的内存图: (2)应用:遍历与求和. 数组综合应用:数组加密,杨辉三角 2:Java中的参数传递问题.(理解内存图)  基本类型:形式参数的改变对实际参数没

Java打印M图形(二维数组)——(九)

对于平面图形输出集合图形与数字组合的,用二维数组.先在Excel表格中分析一下,找到简单的规律.二维数组的行数为行高,列数为最后一个数大小. 对于减小再增大再减小再增大的,可以用一个boolean标志其是增加还是减小状态,减到最小时将其标志设为相反的并改变这时的初值大小. 效果: Excel中分析 Java代码: 1 package Java_Test; 2 3 public class PrintM { 4 5 /* 6 7 3 7 8 2 4 6 8 9 1 5 9 10 平面图形(二维数组