c#---部分;把数组或者结构体存入集合里,然后再从结合中取出之后,输出;

1.输入班级人数,统计每个人的姓名,性别,年龄;集合与数组

            //Console.Write("请输入班级人数:");
            //int a = int.Parse(Console.ReadLine());

            //ArrayList al = new ArrayList();
            //for (int i = 0; i < a;i++ )
            //{
            //    string [] name =new string[3];
            //    Console.Write("请输入第{0}个人的姓名:",(i+1));
            //    name[0] = Console.ReadLine();
            //    Console.Write("请输入第{0}个人的性别:", (i + 1));
            //    name[1] = Console.ReadLine();
            //    Console.Write("请输入第{0}个人的年龄:", (i + 1));
            //    name[2] = Console.ReadLine();
            //    al.Add(name);//存入集合
            //}
            //Console.WriteLine("所有人员信息输入完毕!请按回车键开始打印!");
            //Console.ReadLine();
            //for (int i = 0; i < al.Count;i++ )
            //{
            //    string[] aaa = (string [])al[i];//从集合中取出数组
            //    Console.WriteLine(aaa[0]+"\t"+aaa[1]+"\t"+aaa[2]);
            //}

2.

//输入班级人数,输入学生的学号、姓名、语数英分数
//存入结构体
//然后求语文分数为最高分的两个学生的所有信息
//数学最高分的两个学生的信息
//英语平均分

 //Console.Write("请输入班级人数:");
            //int a = int.Parse(Console.ReadLine());
            //Program hs = new Program();
            //for (int i = 0; i < a;i++ )
            //{
            //    Student st = new Student();
            //    Console.Write("请输入第{0}个学生的学号:",(i+1));
            //    st.code = int.Parse(Console.ReadLine());
            //    Console.Write("请输入第{0}个学生的姓名:", (i + 1));
            //    st.name = Console.ReadLine();
            //    Console.Write("请输入第{0}个学生的语文分数:", (i + 1));
            //    st.score.yufen = double.Parse(Console.ReadLine());
            //    Console.Write("请输入第{0}个学生的数学分数:", (i + 1));
            //    st.score.shufen = double.Parse(Console.ReadLine());
            //    Console.Write("请输入第{0}个学生的英语分数:", (i + 1));
            //    st.score.yingfen = double.Parse(Console.ReadLine());
            //    hs.al.Add(st);//将结构体存入集合
            //}
            //Console.WriteLine("所有人员信息输入完毕!请按回车键继续!");
            //Console.ReadLine();
            ////然后求语文分数为最高分的两个学生的所有信息
            //for (int i = 0; i < a - 1;i++ )
            //{
            //    for (int j = i + 1; j < a;j++ )
            //    {
            //        Student st1 =(Student)hs.al[i];
            //        Student st2 =(Student)hs.al[j];
            //          if(st1.score.yufen<st2.score.yufen)
            //          {
            //              object zhong = hs.al[i];
            //              hs.al[i] = hs.al[j];
            //              hs.al[j] = zhong;//把集合中的一个结构体代表集合的一个元素,把集合中的机构体整体排序;
            //          }
            //    }
            //}
            //Student yu1 = (Student)hs.al[0];
            //Student yu2 = (Student)hs.al[1];//从集合中取出结构体
            //Console.WriteLine("语文分数最高的第一个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。",yu1.code,yu1.name,yu1.score.yufen,yu1.score.shufen,yu1.score.yingfen);
            //Console.WriteLine("语文分数最高的第二个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。", yu2.code, yu2.name, yu2.score.yufen, yu2.score.shufen, yu2.score.yingfen);
            ////数学最高分的两个学生的信息
            //for (int i = 0; i < a - 1; i++)
            //{
            //    for (int j = i + 1; j < a; j++)
            //    {
            //        Student st1 = (Student)hs.al[i];
            //        Student st2 = (Student)hs.al[j];
            //        if (st1.score.shufen < st2.score.shufen)
            //        {
            //            object zhong = hs.al[i];
            //            hs.al[i] = hs.al[j];
            //            hs.al[j] = zhong;
            //        }
            //    }
            //}
            //Student shu1 = (Student)hs.al[0];
            //Student shu2 = (Student)hs.al[1];//从集合中取出结构体
            //Console.WriteLine("数学分数最高的第一个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。", shu1.code, shu1.name, shu1.score.yufen, shu1.score.shufen, shu1.score.yingfen);
            //Console.WriteLine("数学分数最高的第二个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。", shu2.code, shu2.name, shu2.score.yufen, shu2.score.shufen, shu2.score.yingfen);
            ////英语平均分
            //double sum = 0;
            //for (int i = 0; i < hs.al.Count;i++ )
            //{
            //    Student ying = (Student)hs.al[i];//从集合取出结构体
            //    sum += ying.score.yingfen;
            //}
            //Console.WriteLine("班级英语平均分是:"+(sum/a));

3.

数组;string []aa= new string [n];

foreach(string bb in aa)

{}

集合;

arraylist al=new arraylist();//前提是集合中的元素是相同类型时;

foreach(object/int/double aa in al)

{}

时间: 2024-08-05 11:18:22

c#---部分;把数组或者结构体存入集合里,然后再从结合中取出之后,输出;的相关文章

关于数组、结构体的初始化{0}

关于数组.结构体的初始化 一直以来,初始化变量和数组常采用定义时赋值的方法,今天在定义一个结构体的时候发现了一些问题,查了下相关资料发现以往的使用确实有些误区,一直没有注意到,于是搜集了下零散的资料在此记录一下. 一.以往常用的初始化方式: 1 int a=0; /*a初始化为0*/ 2 int b[10]={0}; /*b中全部元素初始化为0*/ 想必一直这样使用也确实不会发现问题,按照惯性思维,把0换成1就是把全部元素初始化为1了!然而事实却并非如此,请看下面这段代码↓ 1 #include

数组和链表的区别以及数组和结构体的区别

1,数组和链表的区别? 链表和数组都叫可以叫做线性表, 数组又叫做顺序表,主要区别在于,顺序表是在内存中开辟一段连续的空间来存储数据,而且必须是相同类型的数据. 而链表是通过存在元素中的指针联系到一起的,每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域,链表既可以靠指针来连接多块不连续的的空间也可以用一段连续的空间, 在逻辑上形成一片连续的空间来存储数据. 两种数据结构各有各的好处,链表方便删除和插入,数组方便排序等. 数组从栈中分配空间, 对于程序员方便快速

C提高4 多维数组,结构体与二级指针

昨天的试题:原题见昨天作业题 [email protected]:~/high/day03$ cat main.c  /* 二级指针,绝佳训练题1 */ #include <stdio.h> #include <stdlib.h> #include <string.h> int spitspring(char *buf1,char *c,char **myp,int *total) { char *p_head =  buf1; char *p_tail =  buf1

Delphi - 数组和结构体

技术交流,DH讲解. 记得很早之前我就说过,数组和结构体在内存中其实一样的,他们都是连续分布的.例如: ? 1 2 3 4 TMyStruct = record   A,B,C:Integer; end; T3IntArray = array[0..2]of Integer; 这两个都占12字节,而且TMyStruct.A就是T3IntArray[0].而我们知道在访问数组中某个元素的时候,只是在第一个元素的地址 + 序号 * 元素大小.那么访问结构体应该也是这样的,只是结构体中每个元素的大小不

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+ 指针数组: 在一个数组中,如果它的元素全部都是指针类

柔性数组(结构体最后一个域为0/1数组)

结构体最后的长度为0或1数组的作用(转载) 2012-05-07 17:07:09 其实很 早在看LINUX下就看到这个东西,后来在MFC内存池里同样也看到了类似的东西,还依照MFC写过一个类似的小内存池,(MFC用的是return this + 1)后来在李先静的<系统程序员成长计划>里看到了类似的定义,于是心里想着总结一下,结果发现网上已经有牛人总结的很好了,于是乎就转了过来,谢谢你们 的分享,这是我前进的动力!同时,需要引起注意的:ISO/IEC 9899-1999里面,这么写是非法的,

结构体指针数组和结构体数组指针的区别

对于初学者的我来说,面对又是数组又是结构体还有指针,一下子就蒙了,在网上查找资料也没有相应的介绍,经过我的测试终于明白了其中的猫腻:结构体数组指针 *[]struct:结构体数组指针的指针是数组的指针,即表示数组的地址,数组里面存放的是结构体类型结构体指针数组 []*struct:即指针表示结构体的地址,数组里面存放的是结构体的指针有什么解释不对的地方请指正 代码测试:package mainimport ( "fmt") type XCDataStu struct { Id int

C编译器剖析_1.5 结合C语言来学汇编_指针、数组和结构体

让我们再来看一份C代码,及其经UCC编译器编译后产生的主要汇编代码,如图1.33所示,其中包含了数组.指针和结构体. 图1.33 数组.指针和结构体 按照C的语义,图1.33第9行的C代码是对局部数组number的初始化,需要把number[0]初始化为2015,而数组中的其他元素皆被初始化为0.UCC编译器采取的翻译方法是:先调用memset函数来把数组number所占的内存空间清0,然后再把number[0]设为2015,如图1.33的第17至24行所示.C库函数memset的API如下所示

数组、结构体、联合体、枚举类型、类型转换

1.数组 int num[2] = { 1, 2 };//1×2,num[0]=1 int num[2][2] = { { 00, 01 }, { 10, 11 } };//2×2,num[1][1]=11 int num[2][2][2] = { {{000,001},{010,011}}, {{100,101},{110,111}} };//2个2×2数组,num[1][1][1]=111 2.结构体 #include <stdio.h> int main() { struct Famil