實驗 結構體
實驗目標:
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();
}
}
}
相關文章
- 資料結構實驗(4)資料結構
- 資料結構實驗1資料結構
- buffer cache實驗1-記憶體結構圖解記憶體圖解
- 資料結構實驗三:線性表綜合實驗資料結構
- OC物件是結構體的驗證物件結構體
- 資料結構實驗課五-1資料結構
- 校驗碼-體系結構-指令-流水線
- 資料結構實驗:連結串列的應用資料結構
- 實驗6 C語言結構體、列舉應用程式設計C語言結構體程式設計
- C#實驗3--基本控制結構C#
- 資料結構實驗三 2024_樹與圖實驗資料結構
- 結構體中套用其他_結構體結構體
- JMeter實戰(一) 體系結構JMeter
- 資料結構實驗之連結串列八:Farey序列資料結構
- 【體系結構】sql語句解析過程小實驗 軟解析、硬解析SQL
- 實驗6_C語言結構體、列舉應用程式設計C語言結構體程式設計
- 資料結構實驗 多維陣列的實現資料結構陣列
- 資料結構實驗 二維矩陣的實現資料結構矩陣
- 迴圈結構程式設計 實驗題目程式設計
- Gin 框架怎麼驗證繫結到結構體的欄位?框架結構體
- Oracle體系結構:記憶體結構和程式結構(轉)Oracle記憶體
- 結構體結構體
- 資料結構實驗之連結串列九:雙向連結串列資料結構
- 資料結構實驗之連結串列二:逆序建立連結串列資料結構
- Python中實現結構體類Python結構體
- Oracle體系結構之-記憶體結構Oracle記憶體
- Taro實踐 - 深度開發實踐體驗及總結
- 資料結構,雜湊表hash設計實驗資料結構
- 《資料結構》實驗08--樹及其應用資料結構
- 迷宮問題【資料結構實驗報告】資料結構
- 資料結構實驗之連結串列三:連結串列的逆置資料結構
- 資料結構實驗之連結串列五:單連結串列的拆分資料結構
- 資料結構實驗之連結串列六:有序連結串列的建立資料結構
- 資料結構實驗之連結串列一:順序建立連結串列資料結構
- Oracle體系結構之-物理結構Oracle
- Go 結構體Go結構體
- 結構體struct結構體Struct
- 能否使用B/S結構實現所有C/S結構軟體的功能