二維數組例題習題


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         }

運行結果略。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM