zoukankan      html  css  js  c++  java
  • C# 二维数组和集合

        本次课我主要学习了二维数组和集合的部分内容。

        在二维数组的部分中,我主要学习了二维数组的定义方法: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();
  • 相关阅读:
    转换时间对象和字符串对象&添加时间
    jquery深入学习17-2-19
    jquery深入学习
    java上传附件含有%处理或url含有%(URLDecoder: Illegal hex characters in escape (%) pattern
    数据库备份脚本(整库备份)
    docker 利用maven插件推送镜像
    排序算法对比分析图
    Java计算时间差、日期差总结
    百度地图计算点是否在园,正方形,多边形范围内。电子围栏
    java maven docker-maven-plugin 结合Dockerfile 构建 docker image 并上传到docker server
  • 原文地址:https://www.cnblogs.com/hongsen3/p/5719251.html
Copyright © 2011-2022 走看看