struct 数组

class Program

{

struct xs                                                          //自定义xs类型

{

public int xuehao;                                      //public 共有的

public string xingming;

public double shuxue;

public double yuwen;

public double waiyu;

public double zongfen;

public int mingci;

}

static void Main(string[] args)

{

xs[] s = new xs[3];                                         //new出新的数组

for (int i = 0; i <s.Length ; i++)

{

Console.WriteLine("正在输入第"+(i+1)+"个学生的信息:");

s[i].xuehao = i + 1;

Console.Write("请输入姓名:");

s[i].xingming = Console.ReadLine();

Console.Write("请输入数学分数:");

s[i].shuxue =Convert.ToDouble(Console .ReadLine());

Console.Write("请输入语文分数:");

s[i].yuwen = Convert.ToDouble(Console.ReadLine());

Console.Write("请输入外语分数:");

s[i].waiyu = Convert.ToDouble(Console.ReadLine());

s[i].zongfen = s[i].shuxue + s[i].yuwen + s[i].waiyu;

}

//排序           冒泡排序

for (int i = 1; i <= s.Length -1; i++)

{

for (int j = 1; j <= s.Length-i ; j++)

{

if ((s[j].zongfen)>(s[j-1].zongfen) )

{

xs temp = s[j];

s[j] = s[j-1];

s[j - 1] = temp;

}

}

}

//写名次

for (int i = 0; i < s.Length; i++)

{

s[i].mingci = i + 1;

}

//输出

for (int i = 0; i < s.Length ; i++)

{

Console.WriteLine("姓名:"+s[i].xingming + "\t" +"学号:" +s[i].xuehao + "\t" +"数学:" +s[i].shuxue + "\t" +"语文:"+ s[i].yuwen + "\t" +"外语"+ s[i].waiyu + "\t" +"总分"+s[i].zongfen + "\t" +"名次"+ s[i].mingci);

}

Console.ReadLine();

}

}

时间: 2024-10-13 22:18:51

struct 数组的相关文章

struct数组初始化

const int MAXN=100; struct A { int a,b; }; struct A arr[100];//此时编译通过 struct A arr[MAXN];//此时编译不通过,原因是什么?

MATLAB cell 数组介绍

转载:http://www.matlabsky.com/forum.php?mod=viewthread&tid=21089 由于工作需要,经常要处理大量的实验数据.基本都是由仪器导出来,随着社会发展的进步,人们获取数据的量在不断增长,很多人都是,现在已经是海量数据时代了... 从cell使用说起在读取文件的时候,cell数组(各种翻译都有,元胞数组,单元数组...直接无视)是Matlab的宠儿,基本都会出现,长期使用发现频率比struct高了不少~无论是Import Data还是使用texts

C#面向对象初步

int定义的变量只能放整形数据,string定义的变量只能放字符串数据,它们是内置数据类型: struct{},class(类)都是用户定义的数据类型,可以放任意类型数据. 用数据类型定义变量就像用模板规范的创建了一个变量,使其不能任意的存储数据,比如int类型的变量无法存储string类型的数据: 所有的数据类型(int,string,struct出来的Student)就像各种各样的模板,struct出来的Student是我们自己创造的数据类型模板.   class模板可以写函数,因此比str

Code Review:C#与JAVA的哈希表内部机制的一些区别

看C#与JAVA源码时发现C#与JAVA哈希表的实现略有不同,特此分享一下. 我觉得看哈希表的机制可以从"碰撞"这里划线分为两部分来分析. 1,发生碰撞前 在发生碰撞前决定get与put的速度唯一因素是通过哈希函数计算键值位置的速度.而占用空间大小取决于需要的桶的数量(取决于极限装载值(load factor)(假设已知需要放入哈希表中元素的数量)),和桶的大小. C#的默认装载系数=0.72 // Based on perf work, .72 is the optimal load

C++程序设计方法2:基本语法

初始化列表 int a[] = {1,2,3}; int a[]{1,2,3} 以上两个式子等价 int a = 3+5: int a = {3+5}; int a(3+5); int a{3+5}; 以上式子等价 int *i = new int(10); double *d = new double{1.2f}; 变量的类型推导与基于范围的循环 使用decltype可以对变量或者表达式结果的类型进行推导,如: #include <iostream> using namespace std;

C++:C++11新特性超详细版(1)

前言: 虽然目前没有编译器能够完全实现C++11,但这并不意味着我们不需要了解,学习它.深入学习C++11,你会发现这根本就是一门新的语言,它解决了c++98中许多遗留下来的问题.早晚会有一天,C++11便会普及大部分编译器.因此,提早做些准备也是应该的. 在此我想做一个关于C++11的专题,将C++11的新特性进行一一讲解,以通俗易懂的语言及例子帮助读者入门C++11.本文便是C++11新特性超详细版系列文章的第一篇, 即C++:[C++11]新特性超详细版(1). 不过我要强调的是,这些文章

QT环境下,&lt;POSIX多线程&gt;全局变量共享问题

开始的技术路线是: 首先有两个主线程: 1,gui线程 2,等待客户端socket连接用的,listen线程 (当有客户端连接时,即creat一个新的线程2用来跟客户端通信,再来新的客户端,继续creat新的work线程3用于通信,以此类推,目前最多可以creat5个线程,即可以同时跟5台客户端通信,设置了监听的socket服务器最多监听5个队列.线程2继续listen) 出现的问题是: 用来通信的work线程3,收到一个来自客户端的xml文件,然后解析文件,并将其数据放在一个全局的静态stru

Android的init过程(二):初始化语言(init.rc)解析 转

本文使用的软件版本 Android:4.2.2 Linux内核:3.1.10 在上一篇文章中介绍了init的初始化第一阶段,也就是处理各种属性.在本文将会详细分析init最重要的一环:解析init.rc文件. init.rc 文件并不是普通的配置文件,而是由一种被称为“Android初始化语言”(Android Init Language,这里简称为AIL)的脚本写成的文件.在了解init如何解析init.rc文件之前,先了解AIL非常必要,否则机械地分析 init.c及其相关文件的源代码毫无意

如何写一个Web服务器

最近两个月的业余时间在写一个私人项目,目的是在Linux下写一个高性能Web服务器,名字叫Zaver.主体框架和基本功能已完成,还有一些高级功能日后会逐渐增加,代码放在了github.Zaver的框架会在代码量尽量少的情况下接近工业水平,而不像一些教科书上的toy server为了教原理而舍弃了很多原本server应该有的东西.在本篇文章中,我将一步步地阐明Zaver的设计方案和开发过程中遇到的困难以及相应的解决方法. 为什么要重复造轮子 几乎每个人每天都要或多或少和Web服务器打交道,比较著名