本次课我主要学习了二维数组和集合的部分内容。
在二维数组的部分中,我主要学习了二维数组的定义方法:int [,] array=new int [4,2];做了一个小练习:用二维数组打印自己的姓氏。
string[,] a = new string[11, 9]
{
{" "," "," "," ","■"," "," "," "," "},
{" "," "," "," ","■"," "," "," "," "},
{" ","■","■","■","■","■","■","■"," "},
{" "," "," ","■","■","■"," "," "," "},
{" ","■","■"," ","■"," ","■","■"," "},
{" "," ","■","■","■","■","■"," "," "},
{" "," "," "," "," ","■"," "," "," "},
{"■","■","■","■","■","■","■","■","■"},
{" "," "," "," ","■"," "," "," "," "},
{" "," "," ","■","■"," "," "," "," "},
{" "," "," "," ","■"," "," "," "," "},
};
for (int i = 0; i < 11; i++)
{
for (int j = 0; j < 9; j++)
{
Console.Write(a[i, j]);
}
Console.WriteLine();
}
Console.ReadLine();
然后,我学习了一个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 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();