1、对以下二维数组中的二进制数取反
|1,0,0,1|
|0,1,1,0|
|1,1,0,0|
*2、对以下二维数组进行转置
|1,2,3,4|
|5,6,7,8|
|9,10,J,Q|
3、利用二维数组完成乞丐领赏程序
4、国际象棋棋盘中车、象(含中国象棋“象”)、马的攻击范围
5、打印杨辉三角形前五行
6、计算班级每个学生总分、学科平均分(含表头行、姓名列)
第六题说明:
表结构如下:

程序运行大致界面如下:
输入第1个同学的姓名:
张三
输入语文成绩:
80
输入数学成绩:
90
输入英语成绩:
70
..............
班级成绩表如下:
其中阿拉伯数字、姓名、学科都应动态输出。
表格中绿色部分由用户输入,红色部分由计算得来。
思路1:二维数组描述全表,计算时需要字符串和数字来回转化。
思路2:如下图

所有数据由两个一维数组和一个二维数组构成。输入输出需要注意逻辑关系,计算可以免转换。
参考代码(思路1):
1 static void Main(string[] args)
2 {
3 int t;
4 var a=new string[5,5];
5 a[0, 0] = "姓名";
6 a[0, 1] = "语文";
7 a[0, 2] = "数学";
8 a[0, 3] = "英语";
9 a[0, 4] = "总分";
10 a[4, 0] = "平均分";
11 //输入
12 for (int i = 1; i < a.GetLength(0)-1; i++)
13 {
14 for (int j =0; j < a.GetLength(1)-1; j++)
15 {
16 if(j==0)
17 {
18 Console.WriteLine("输入第"+i+"个同学的姓名:");
19 }
20 else
21 {
22 Console.WriteLine("输入" + a[0,j] + "成绩:");
23 }
24 a[i, j] = Console.ReadLine();
25 }
26 }
27 //计算总分
28 for (int i = 1; i < a.GetLength(0)-1; i++)
29 {
30 t = 0;
31 for (int j = 1; j < a.GetLength(1) - 1; j++)
32 {
33 t+=int.Parse(a[i, j]);
34 }
35 a[i, a.GetLength(1) - 1] = t.ToString();
36 }
37 //计算平均分
38 for (int i = 1; i < a.GetLength(1) ; i++)
39 {
40 t = 0;
41 for (int j = 1; j < a.GetLength(0)-1 ; j++)
42 {
43 t += int.Parse(a[j, i]);
44 }
45 t /= (a.GetLength(0) - 2);
46 a[a.GetLength(0) - 1,i] = t.ToString();
47 }
48 //打印
49 for (int i = 0; i < a.GetLength(0); i++)
50 {
51 for (int j = 0; j < a.GetLength(1); j++)
52 {
53 Console.Write(a[i, j] + "\t");
54 }
55 Console.WriteLine();
56 }
57 Console.ReadKey();
58 }
运行结果略。
来源:https://www.cnblogs.com/wanjinliu/p/12050006.html