实验 结构体
来源:互联网 发布:ubuntu 修复win7引导 编辑:程序博客网 时间:2024/06/03 21:05
实验目标:
1、掌握结构的声明和使用。
2、掌握结构默认及有参数构造函数的用法。
3、理解结构和类的区别。
实验内容:
1、自定义类实现IComparer接口,比较空间两点大小,先按x的坐标值比较,若相等再按y的坐标值比较。在main方法中进行测试,比较两个坐标点的大小;对由空间某点构成的数组进行排序。
using System;using System.Collections.Generic;using System.Linq;using System.Text;/*自定义类实现IComparer接口,比较空间两点大小, * 先按x的坐标值比较,若相等再按y的坐标值比较。 * 在main方法中进行测试,比较两个坐标点的大小; * 对由空间某点构成的数组进行排序。*/namespace ConsoleApplication1{ class Space:IComparer { public double X{get; set;} public double Y { get; set; } public Space(double x, double y) { this.X = x; this.Y = y; } public void disp() { Console.WriteLine("X:{0},Y:{1}",this.X,this.Y); } public int Compare(Space s2) { Space s1 = new Space(X, Y); if (s1.X > s2.X) return 1; else if (s1.X < s2.X) return -1; else if (s1.Y > s2.Y) return 1; else if (s1.Y < s2.Y) return -1; else return 0; } } interface IComparer { int Compare(Space s2); } class Program { static void Main(string[] args) { Space[] points = new Space[5]{ new Space(1,2), new Space(2,2.3), new Space(1,3), new Space(2,1.4), new Space(4,2) }; for (int i = 0; i < 5; i++) points[i].disp(); for (int i = 0; i < 5; i++) { for (int j = i + 1; j < 5; j++) { if (points[i].Compare(points[j]) > 0) { Space temp = points[i]; points[i] = points[j]; points[j] = temp; } } } Console.WriteLine("======================="); for (int i = 0; i < 5; i++) points[i].disp(); Console.ReadLine(); } }}
2、定义一个学生分数结构体StudentGrade,包含字段Name、Score,以及2个参数的构造函数。利用结构体StudentGrade,创建结构数组变量,存放若干学生的姓名和分数信息,计算平均分。
从主函数中初始化以下字段:运行效果如图所示。
"张三",99
"李四",68
"王五",89
"姚六",76
using System;using System.Collections.Generic;using System.Linq;using System.Text;/*定义一个学生分数结构体StudentGrade,包含字段Name、Score, * 以及2个参数的构造函数。利用结构体StudentGrade, * 创建结构数组变量,存放若干学生的姓名和分数信息,计算平均分。*/namespace ConsoleApplication2{ struct StudentGrade { public string Name; public double Score; public StudentGrade(string name, double score) { Name = name; Score = score; } } class Program { static void Main(string[] args) { StudentGrade[] students = new StudentGrade[4]{ new StudentGrade("张三",99), new StudentGrade("李四",68), new StudentGrade("王五",89), new StudentGrade("姚六",76) }; for (int i = 0; i < 4; i++) Console.WriteLine("{0},{1}", students[i].Name, students[i].Score); Console.ReadLine(); } }}
0 0
- 实验 结构体
- 结构体实验
- C语言实验结构体排序
- c语言结构体实验记录1
- 实验名称: C++数组、指针、结构体的使用
- 实验4-8 switch结构
- Java 实验:结构化程序设计
- [VFP]实验报告 ------实验五 循环结构的程序设计
- [VFP]实验报告 ------实验六 循环嵌套结构程序设计
- 【实验】ARM系统结构实验之Arm分支指令
- 第十七周实验报告一(所有同学的成绩表等用结构体做)
- 2013-10-13 实验之内核空间与用户空间拷贝结构体
- 程序设计C 实验六 结构体 题目四 偷菜时间表(0069)
- WinCE实验教程之三文件夹结构
- WinCE实验教程之三文件夹结构
- C++子结构间接自杀实验
- 选择结构程序设计实验:身高预测
- 实验4-3 if结构的初步
- 会话管理——《跟我学Shiro》
- ARM裸机编程 (汇编运行地址,链接地址,加载地址,存储地址 位置无关码、位置有关码)
- 虚拟视点图像生成008
- 【DP】poj2250
- 分布式进阶(四)Ubuntu 14.04下安装Tomcat 6
- 实验 结构体
- PowerDesigner使用教程
- Hadoop的简单实例和遇到的问题
- Eclipse编译错误 Access restriction:The type *** is not accessible解决方案
- BAT薪资谈
- 基于直方图的图像全局二值化算法原理、实现--基于谷底最小值的阈值
- 【JVM】HotSpot JVM内存管理和GC策略总结
- 状态模式
- Android进阶— 面试题