标签:
2016-04-23 20:46:26
一.二维数组:
一维数组----豆角
二维数组----表格
1)定义:
一维数组:
数据类型[] 数组变量名 = new 数据类型[数组长度];
数据类型[] 数组变量名 = new 数据类型[数组长度]{1,2,3....};
2)二维数组:
数据类型[,] 数组变量名 = new 数据类型[行数,列数];
int[,] a = new int[3,4];
赋值:
a[行下标,列下标] = 值 下标都是从0开始的
取值:
a[行下标,列下标]
☆.题目:一个班6个人,从键盘输入每个学号语文,数学,外语成绩(不需输入学号)。输出:学生成绩表(包括每个人的总分),每科的平均分。
附加1:试着,把不及格的用红字显示。
附加2:试着按照总分排序,显示名次出来。
int [,]a=new int [6,5]; for (int i = 0; i < 6;i++ ) { Console.WriteLine("输入第{0}位同学的语文成绩:",i+1); int 语文成绩 = Convert.ToInt32(Console .ReadLine ()); Console.WriteLine("输入第{0}位同学的数学成绩:", i + 1); int 数学成绩 = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("输入第{0}位同学的英语成绩:", i + 1); int 英语成绩 = Convert.ToInt32(Console.ReadLine()); a[i, 0] = 语文成绩; a[i,1]=数学成绩 ; a[i, 2] = 英语成绩; a[i,3] = 语文成绩 + 数学成绩 + 英语成绩; } for (int i = 0; i < 6;i++ ) { for (int j = i; j < 5;j++ ) { if (a[i,3]>a[j+1,3]) { int v = a[i, 3]; a[i, 3] = a[j + 1, 3]; a[j + 1, 3] = v; int m = a[i, 0]; a[i, 0] = a[j + 1, 0]; a[j + 1, 0] = m; int n = a[i, 1]; a[i, 1] = a[j + 1, 1]; a[j + 1, 1] = n; int b= a[i, 2]; a[i, 2] = a[j + 1, 2]; a[j + 1, 2] = b; } } } int sum语文 = 0, sum数学 = 0, sum英语 = 0, avg语文, avg数学, avg英语; Console.Write("语文\t数学\t英语\t总分\t排序"); Console.WriteLine(); for (int i = 0; i < 6;i++ ) { Console.WriteLine("{0}\t{1}\t{2}\t{3}\t{4}", a[i, 0], a[i, 1], a[i, 2], a[i, 3],i+1); sum语文 = sum语文 + a[i, 0]; sum数学 = sum数学 + a[i, 1]; sum英语 = sum英语 + a[i, 2]; } avg语文 = sum语文 / 6; avg数学 = sum数学 / 6; avg英语 = sum英语 / 6; Console.WriteLine("平均分:语文{0}\t数学{1}\t英语{2}",avg语文 ,avg数学 ,avg英语 );
二.锯齿数据,数组的数组。
定义:
第一步:定义大数组
数据类型[][] a = new 数据类型[行数][];
第二步:定义小数组
数据类型[] a1 = new 数据类型[列数];
数据类型[] a2 = new 数据类型[列数];
......
第三步:把小数组放到大数组中
a[0] = a1;
a[1] = a2;
....
代码:
int[][] a = new int[3][]; int[] a0 = new int[] { 1, 2, 3, 4, 5 }; int[] a1 = new int[] { 6, 7, 8 }; int[] a2 = new int[] { 9, 10 }; a[0] = a0; a[1] = a1; a[2] = a2; //显示 for (int i = 0; i < a.Length; i++)//a.length=3 { for (int j = 0; j < a[i].Length; j++) { Console.Write(a[i][j] + "\t"); } Console.WriteLine(); }
★ 拓展
int[,] a = new int [3][4]; //错
int[][] a = new int[3,4]; //错
int[][] a = new int[3][4]; //错
int[,] c = new int[3,4]; //对
c.Length== 12;
三.集合
1、ArrayList 链表,没有长度限制,可以随时添加或删除元素。
需要在前面加上:using System.Collections;
定义:
ArrayList a = new ArrayList();
操作:
a.Add(数据):添加
a.Insert(索引号,数据):插入
a.RemoveAt(索引号):删除
a.Count 集合中元素的个数
取值:
a[下标]
取出来的值需要进行强制转换。
代码举例
ArrayList a = new ArrayList(); a.Add(110); a.Add(120); a.Add(500); a.Add("汤圆"); a.Add(true ); a.Insert(1,"chihuo");//插入第2条为“chihuo” a.RemoveAt(3);//删除第四行 500 for (int i = 0; i < a.Count;i++ ) { Console.WriteLine(a[i]); }
结果显示
2、List<类型> 链表,,没有长度限制,可以随时向时添加或删除元素。只能放指定类型的数据,取出来也不用强制转换。
定义
List<类型> 变量名 = new List<类型>();
List<int> a = new List<int>();
操作:
a.Add(数据):添加
a.Insert(索引号,数据):插入
a.RemoveAt(索引号):删除
a.Count 集合中元素的个数
a.Sort(); 排序
a.Reverse();反转
取值
a[索引号]
示例:
List <int > a=new List<int> (); a.Add(10); a.Add(100); a.Add(1000); a.Add(500); a.Insert(2, 123); a.RemoveAt(3); for (int i = 0; i < a.Count;i++ ) { Console.WriteLine(a[i]); }
结果显示
集合中的集合:
List<List<int>> a = new List<List<int>>(); List<int> a1 = new List<int>(); a1.Add(10); a1.Add(12); a1.Add(15); List<int> a2 = new List<int>(); a2.Add(20); a2.Add(23); a2.Add(28); a.Add(a1); a.Add(a2);
3.Dictionary<key,value>字典或哈希表
定义
Dictionary<int,string> a = new Dictionary<int,string>();
操作:
a.Add(键值,数据);
a.Remove(键值);
a.Count;
取值:
a[键值]
代码示例
4、栈,队列
栈:先进后出,不能随机取其中任意一个值。
Stack<数据类型> a = new Stack<数据类型>();
a.Push(值);
数据类型 变量名 = a.Pop();
队例:先进先出,不能随机取其中任意一个值。
Queue<int> a = new Queue<int>();
a.Enqueue(值);
数据类型 变量 = a.Dequeue();
标签:
原文地址:http://www.cnblogs.com/pangchunlei/p/5425521.html