zoukankan      html  css  js  c++  java
  • 二维数组例题习题

    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] + "	");
    54                 }
    55                 Console.WriteLine();
    56             }
    57             Console.ReadKey();
    58         }

    运行结果略。

  • 相关阅读:
    DOS命令,JDK安装,JAVA运行机制
    Typora学习
    我还能写我还能写
    博客展示
    测试报告
    【Alpha版本】冲刺阶段——Day 7
    【Alpha版本】冲刺阶段——Day 6
    【Alpha版本】冲刺阶段——Day 5
    【Alpha版本】冲刺阶段——Day 4
    【Alpha版本】冲刺阶段——Day 3
  • 原文地址:https://www.cnblogs.com/wanjinliu/p/12050006.html
Copyright © 2011-2022 走看看