首页 > 代码库 > 传值传址 结构体

传值传址 结构体

传值
class Program { //传值 public void hs(int a,int b) { b = a + 10; } } static void Main(string[] args) { Program hanshu = new Program(); //传值:将变量名中存放的值进行传输 int x = 5; int y = 10; hanshu.hs(x,y); Console.WriteLine(y); }
结果为10

  

传址
class Program { //out 传址 public void hs1(int a, out int b) { b = a + 10; } static void Main(string[] args) { Program hanshu = new Program(); //传址:将这个变量名直接传输过去,若在另一边有负值情况,这边的值会发生变化 int x = 5; int y = 10; hanshu.hs1(x, out y); Console.WriteLine(y); Console.ReadLine(); }
结果为15

  

结构体
class Program { //结构体:自定义类型 值类型 //一组变量的组合 //需要定义的位置 class里面 main函数外面 //包含的变量可以是多种数据类型 //结构为值类型而不是引用类型,并且结构不支持继承 //学生信息结构体:学号,姓名,性别,分数 struct student { public int xh; public string name; public string sex; public double score; } static void Main(string[] args) { //实例化结构体 //student st=new student(); //st.xh = 1001; //st.name = "张三"; //st.sex = "男"; //st.score = 87; //student st1 = new student(); //st1.xh = 1002; //st1.name = "李四"; //st1.sex = "女"; //st1.score = 89; ArrayList al = new ArrayList(); Console.Write("请输入班级人数:"); int a = int.Parse(Console.ReadLine()); for (int i = 0; i < a;i++ ) { student st = new student(); Console.Write("请输入第{0}个学生的学号:",i+1); st.xh = int.Parse(Console.ReadLine()); Console.Write("请输入第{0}个学生的姓名:", i + 1); st.name = Console.ReadLine(); Console.Write("请输入第{0}个学生的性别:", i + 1); st.sex = Console.ReadLine(); Console.Write("请输入第{0}个学生的分数:", i + 1); st.score = double.Parse(Console.ReadLine()); al.Add(st); } Console.WriteLine("------------------------------"); for (int i = 0; i < al.Count;i++ ) { student st=(student)al[i]; Console.WriteLine("第{0}个学生的学号是{1},姓名是{2},性别是{3},分数是{4}",i+1,st.xh,st.name,st.sex,st.score); } Console.ReadLine(); }
技术分享

练习:

//去超市选择要购买的商品
//0.开始购买
//1.洗发水 15元
//2.牙刷 5元
//3.可口可乐 3元
//4.水杯 12元
//5.毛巾 6元
//6.结算

//输入想要的物品编号,输入每种商品需要买几件

//结算:需要列出来商品名称、单价、数量、
//总价以及所有物品总价,结账时间
//然后输入交给收银员的钱数
//不够,请继续交钱
//够,结算,找钱

 

 

 


//流程1:选择【结算(退出)】,直接退出超市

//流程2:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,编号错误,重新输入

//流程3:选择【开始购买】,打印出所有商品选项和结算选项,
//输入您所选的商品编号,若选择【结算】,打印未买任何商品,退出

//流程4:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,
//若选择为1~5中任意一个商品,再问需要购买数量,
//将商品名称和商品单价和商品数量放入数组,存入集合,
//列出所有已购买的商品名称、单价、数量,
//列出所有选项,若选择为【结账】,
//将集合中已经存放好的一条购买数据以数组的方式取出来,打印并计算总价,
//缴费,输入金额若足够支付,直接结账,算找零的费用,打印小票时间,结束

//流程5:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,
//若选择为1~5中任意一个商品,再问需要购买数量,
//将商品名称和商品单价和商品数量放入数组,存入集合,

//若多次购买,循环以下两条
//列出所有已购买的商品名称、单价、数量,列出所有选项,
//若继续选择商品,就继续问数量,将物品名称、单价。数量放入数组,存入集合

//若上方列出所有选项之后选择【结账】,
//将集合内存放的多条购买信息以数组的方式取出,打印并计算总价
//缴费, 输入金额若足够支付,直接结账,算找零的费用,打印小票时间,结束

//流程6:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,
//若选择为1~5中任意一个商品,再问需要购买数量,
//将商品名称和商品单价和商品数量放入数组,存入集合,
//列出所有已购买的商品名称、单价、数量,
//列出所有选项,若选择为【结账】,
//将集合中已经存放好的一条购买数据以数组的方式取出来,打印并计算总价,
//缴费,输入金额若不足够支付,就继续索取缴费,直至能够支付起所购买的物品总价
//结账,算找零的费用,打印小票时间,结束

//流程7:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,
//若选择为1~5中任意一个商品,再问需要购买数量,
//将商品名称和商品单价和商品数量放入数组,存入集合,

//若多次购买,循环以下两条
//列出所有已购买的商品名称、单价、数量,列出所有选项,
//若继续选择商品,就继续问数量,将物品名称、单价。数量放入数组,存入集合

//若上方列出所有选项之后选择【结账】,
//将集合内存放的多条购买信息以数组的方式取出,打印并计算总价
//缴费,输入金额若不足够支付,就继续索取缴费,直至能够支付起所购买的物品总价
//结账,算找零的费用,打印小票时间,结束

//流程8:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,
//若选择为1~5中任意一个商品,再问需要购买数量,
//将商品名称和商品单价和商品数量放入数组,存入集合,

//若多次购买中,选项输入有误,提示重新输入,循环以下两条
//列出所有已购买的商品名称、单价、数量,列出所有选项,
//若继续选择商品,就继续问数量,将物品名称、单价。数量放入数组,存入集合

//若上方列出所有选项之后选择【结账】,
//将集合内存放的多条购买信息以数组的方式取出,打印并计算总价
//缴费, 输入金额若足够支付,直接结账,算找零的费用,打印小票时间,结束

//流程9:选择【开始购买】,打印出所有商品选项和结算选项,输入您所选的商品编号,
//若选择为1~5中任意一个商品,再问需要购买数量,
//将商品名称和商品单价和商品数量放入数组,存入集合,

//若多次购买中,选项输入有误,提示重新输入,循环以下两条
//列出所有已购买的商品名称、单价、数量,列出所有选项,
//若继续选择商品,就继续问数量,将物品名称、单价。数量放入数组,存入集合

//若上方列出所有选项之后选择【结账】,
//将集合内存放的多条购买信息以数组的方式取出,打印并计算总价
//缴费,输入金额若不足够支付,就继续索取缴费,直至能够支付起所购买的物品总价
//结账,算找零的费用,打印小票时间,结束

技术分享
  1 truct Shop
  2         {
  3             public string sp;
  4             public int dj;
  5             public int sl;
  6         }
  7         static void Main(string[] args)
  8         {
  9             Console.WriteLine("0:开始购买");
 10             //Console.WriteLine("1:洗发水  15元");
 11             //Console.WriteLine("2:牙刷  5元");
 12             //Console.WriteLine("3:可口可乐  3元");
 13             //Console.WriteLine("4:水杯  12元");
 14             //Console.WriteLine("5:毛巾  6元");
 15             Console.WriteLine("6:结算");
 16             Console.Write("请输入选项:");
 17             int a = int.Parse(Console.ReadLine());
 18             Console.Clear();
 19             for (int i = 0; i == 0; )
 20             {
 21                 if (a == 6)
 22                 {
 23                     Console.WriteLine("您没有购买任何东西!");
 24                     i = 1;
 25                 }
 26                 else if (a != 0 && a != 6)
 27                 {
 28                     Console.Write("输入错误请重新输入:");
 29                     a = int.Parse(Console.ReadLine());
 30                 }
 31                 else
 32                 {
 33                     ArrayList al = new ArrayList();
 34                     int m = 0;
 35                     for (int j = 0; j==0; )
 36                     {
 37                         Shop shop = new Shop();
 38                         
 39                         bool x = true;
 40                         if (al.Count > 0)
 41                         {
 42                             for (int k = 0; k < al.Count; k++)
 43                             {
 44                                 Shop shop1=(Shop)al[k];
 45                                 Console.WriteLine("你已经购买了{0},单价{1},数量{2}", shop1.sp, shop1.dj, shop1.sl);
 46                             }
 47                         }
 48                         Console.WriteLine("1:洗发水  15元");
 49                         Console.WriteLine("2:牙刷  5元");
 50                         Console.WriteLine("3:可口可乐  3元");
 51                         Console.WriteLine("4:水杯  12元");
 52                         Console.WriteLine("5:毛巾  6元");
 53                         Console.WriteLine("6:结算");
 54                         Console.Write("请选择你要购买的物品编号:");
 55                         int n = int.Parse(Console.ReadLine());
 56                         switch (n)
 57                         {
 58                             case 1:
 59                                 shop.sp = "洗发水";
 60                                 shop.dj = 15;
 61                                 m++;
 62                                 Console.Write("请输入你要购买的物品数量:");
 63                                 break;
 64                             case 2:
 65                                 shop.sp = "牙刷";
 66                                 shop.dj = 5;
 67                                 m++;
 68                                 Console.Write("请输入你要购买的物品数量:");
 69                                 break;
 70                             case 3:
 71                                 shop.sp = "可口可乐";
 72                                 shop.dj = 3;
 73                                 m++;
 74                                 Console.Write("请输入你要购买的物品数量:");
 75                                 break;
 76                             case 4:
 77                                 shop.sp = "水杯";
 78                                 shop.dj =12;
 79                                 m++;
 80                                 Console.Write("请输入你要购买的物品数量:");
 81                                 break;
 82                             case 5:
 83                                 shop.sp = "毛巾";
 84                                 shop.dj = 6;
 85                                 m++;
 86                                 Console.Write("请输入你要购买的物品数量:");
 87                                 break;
 88                             case 6:
 89                                 if (m == 0)
 90                                 {
 91                                     Console.WriteLine("您没有购买任何东西!");
 92                                     j = 1; i = 1;
 93                                 }
 94                                 else
 95                                 {
 96                                     int z = 0;
 97                                     for (int k = 0; k < al.Count; k++)
 98                                     {
 99                                         Shop shop1 = (Shop)al[k];
100                                         Console.WriteLine("您选择了{0},单价为{1}元,数量为{2},总价为{3}", shop1.sp, shop1.dj, shop1.sl, shop1.dj*shop1.sl);
101                                         z += shop1.dj* shop1.sl;
102                                     }
103                                     Console.Write("合计{0}元,请缴费:", z);
104                                     int qian1 = 0;
105                                     for (int h = 0; h == 0; )
106                                     {
107                                         int qian = int.Parse(Console.ReadLine());
108                                         qian += qian1;
109                                         if (qian >= z)
110                                         {
111                                             Console.WriteLine("找现{0}元,欢迎下次光临!", qian - z);
112                                             Console.WriteLine("交易成功,交易时间为:" + DateTime.Now);
113                                             h = 1;
114                                             j = 1;
115                                             i = 1;
116                                         }
117                                         else
118                                         {
119                                             qian1 = qian;
120                                             Console.Write("缴费金额不足,请继续缴费:");
121                                         }
122                                     }
123                                 }
124                                 break;
125                             default:
126                                 Console.Write("没有您选择的物品,请重新选择:");
127                                 n = int.Parse(Console.ReadLine());
128                                 x = false;
129                                 break;
130                         }
131                         if (i == 0 && j == 0 && x == true)
132                         {
133                             shop.sl = int.Parse(Console.ReadLine());
134                             Console.Clear();
135                             Console.WriteLine("您选择了{0},单价为{1}元,数量为{2}。请按回车键继续购买!", shop.sp, shop.dj, shop.sl);
136                             al.Add(shop);
137                             Console.ReadLine();
138                         }
139                     }
140                     Console.ReadLine();
141                 }
142             }
143         }
View Code

技术分享

 

//请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体),
//求班级里两个语文分数是最高分的学生的所有信息;数学分数是最高分的两个学生的所有信息;英语平均分。

 

技术分享
 1 class Program
 2     {
 3         //请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体),
 4         //求班级里两个语文分数是最高分的学生的所有信息;数学分数是最高分的两个学生的所有信息;英语平均分。
 5         struct Xinxi
 6         {
 7             public int xh;
 8             public string name;
 9             public Score score;
10         }
11         struct Score
12         {
13             public double yuwen;
14             public double shuxue;
15             public double yingyu;
16         }
17         ArrayList al = new ArrayList();
18         static void Main(string[] args)
19         {
20             Console.Write("请输入班级人数:");
21             int n = int.Parse(Console.ReadLine());
22             Program xinxi = new Program();
23 
24             for (int i = 0; i < n; i++)
25             {
26                 Xinxi xx = new Xinxi();
27                 Console.Write("请输入第{0}个人的学号:", i + 1);
28                 xx.xh = int.Parse(Console.ReadLine());
29                 Console.Write("请输入第{0}个人的姓名:", i + 1);
30                 xx.name = Console.ReadLine();
31                 Console.Write("请输入第{0}个人的语文成绩:", i + 1);
32                 xx.score.yuwen = double.Parse(Console.ReadLine());
33                 Console.Write("请输入第{0}个人的数学成绩:", i + 1);
34                 xx.score.shuxue = double.Parse(Console.ReadLine());
35                 Console.Write("请输入第{0}个人的英语成绩:", i + 1);
36                 xx.score.yingyu = double.Parse(Console.ReadLine());
37                 xinxi.al.Add(xx);
38             }
39             for (int i = 0; i < n - 1; i++)
40             {
41                 for (int j = i + 1; j < n; j++)
42                 {
43                     Xinxi yu1=(Xinxi)xinxi.al[i];
44                     Xinxi yu2=(Xinxi)xinxi.al[j];
45                     if (yu1.score.yuwen<yu2.score.yuwen)
46                     {
47                         object t = xinxi.al[i];
48                         xinxi.al[i]=xinxi.al[j];
49                         xinxi.al[j]=t;
50                     }
51                 }
52             }
53             Xinxi a=(Xinxi)xinxi.al[0];
54             Xinxi b=(Xinxi)xinxi.al[1];
55             Console.WriteLine("语文成绩最高的两位学生的信息是,第一个学号{0},姓名{1},语文成绩{2},数学成绩{3},英语成绩{4};第二个学号{5},姓名{6},语文成绩{7},数学成绩{8},英语成绩{9}", a.xh, a.name, a.score.yuwen, a.score.shuxue, a.score.yingyu,b.xh, b.name, b.score.yuwen, b.score.shuxue, b.score.yingyu);
56             for (int i = 0; i < n-1; i ++)
57             {
58                 for (int j = i + 1; j < n; j++)
59                 {
60                     Xinxi yu1 = (Xinxi)xinxi.al[i];
61                     Xinxi yu2 = (Xinxi)xinxi.al[j];
62                     if (yu1.score.yuwen < yu2.score.yuwen)
63                     {
64                         object t = xinxi.al[i];
65                         xinxi.al[i] = xinxi.al[j];
66                         xinxi.al[j] = t;
67                     }
68                 }
69             }
70             Xinxi c = (Xinxi)xinxi.al[0];
71             Xinxi d = (Xinxi)xinxi.al[1];
72             Console.WriteLine("数学成绩最高的两位学生的信息是,第一个学号{0},姓名{1},语文成绩{2},数学成绩{3},英语成绩{4};第二个学号{5},姓名{6},语文成绩{7},数学成绩{8},英语成绩{9}", c.xh, c.name, c.score.yuwen, c.score.shuxue, c.score.yingyu, d.xh, d.name, d.score.yuwen, d.score.shuxue, d.score.yingyu);
73             double sum = 0;
74             for (int i = 0; i <  n; i ++)
75             {
76                 Xinxi e = (Xinxi)xinxi.al[i];
77                 sum += e.score.yingyu;
78             }
79             Console.WriteLine("英语平均分为:" + sum / n);
80             Console.ReadLine();
81         }
View Code

 

技术分享

 

 

//定义一个结构体,存放关于车辆的几个信息
//将所有车的信息都放入集合中
//车型号 价格(W) 轴距 (mm) 油耗(L/100km)
//宝马320Li 38 2920 6.9
//宝马520Li 43 3108 7.2
//宝马730Li 89 3210 6.3
//奥迪A4L35TFSI 31 2869 6.2
//奥迪A6L30TFSI 43 3012 7.6
//奥迪A8L45TFSI 89 3122 8.1
//奔驰C200L 35 2920 6.1
//奔驰E260L 48 3014 6.7
//奔驰S320L 93 3165 8

 

//所有在售车辆中最便宜的

 

//求宝马中最便宜的车型是什么,所有信息列出

 

//选个轴距最长的

 

//选个轴距最长的,必须是奔驰

 

//想要一辆油耗最低的车

 

//想要一辆油耗最低的奥迪车

 

//我只有50万,看看能买什么车

 

//我只需要60万以上的车,列出来所有车型和所有信息

 

//轴距必须超过3m,列列表

 

//油耗在8.5以下都行,列列表

 

//我不在乎油耗,要油耗最高的车

 

技术分享
  1 class Class1
  2     {
  3 struct Che
  4         {
  5             public string chex;
  6             public int jiag;
  7             public int zhouj;
  8             public double youh;
  9         }
 10         ArrayList al = new ArrayList();
 11         static void Main(string[] args)
 12         {
 13             Class1 che = new Class1();
 14             Che car1 = new Che();
 15             car1.chex = "宝马320Li";
 16             car1.jiag = 38;
 17             car1.zhouj = 2920;
 18             car1.youh = 6.9;
 19             che.al.Add(car1);
 20             Che car2 = new Che();
 21             car2.chex = "宝马520Li";
 22             car2.jiag = 43;
 23             car2.zhouj = 3108;
 24             car2.youh = 7.2;
 25             che.al.Add(car2);
 26             Che car3 = new Che();
 27             car3.chex = "宝马730Li";
 28             car3.jiag = 89;
 29             car3.zhouj = 3210;
 30             car3.youh = 6.3;
 31             che.al.Add(car3);
 32             Che car4 = new Che();
 33             car4.chex = "奥迪A4L35TFSI";
 34             car4.jiag = 31;
 35             car4.zhouj = 2869;
 36             car4.youh = 6.2;
 37             che.al.Add(car4);
 38             Che car5 = new Che();
 39             car5.chex = "奥迪A6L30TFSI";
 40             car5.jiag = 43;
 41             car5.zhouj = 3012;
 42             car5.youh = 7.6;
 43             che.al.Add(car5);
 44             Che car6 = new Che();
 45             car6.chex = "奥迪A8L35TFSI";
 46             car6.jiag = 89;
 47             car6.zhouj = 3122;
 48             car6.youh = 8.1;
 49             che.al.Add(car6);
 50             Che car7 = new Che();
 51             car7.chex = "奔驰C200L";
 52             car7.jiag = 35;
 53             car7.zhouj = 2920;
 54             car7.youh = 6.1;
 55             che.al.Add(car7);
 56             Che car8 = new Che();
 57             car8.chex = "奔驰E260L";
 58             car8.jiag = 48;
 59             car8.zhouj = 3014;
 60             car8.youh = 6.7;
 61             che.al.Add(car8);
 62             Che car9 = new Che();
 63             car9.chex = "奔驰S320L";
 64             car9.jiag = 93;
 65             car9.zhouj = 3165;
 66             car9.youh = 8;
 67             che.al.Add(car9);
 68             //所有在售车辆中最便宜的
 69             for (int i = 0; i < 8; i++)
 70             {
 71                 for (int j = i + 1; j < 9; j++)
 72                 {
 73                     Che jia1 = (Che)che.al[i];
 74                     Che jia2 = (Che)che.al[j];
 75                     if (jia1.jiag > jia2.jiag)
 76                     {
 77                         object t = che.al[i];
 78                         che.al[i] = che.al[j];
 79                         che.al[j] = t;
 80                     }
 81                 }
 82             }
 83             Che a = (Che)che.al[0];
 84             Console.WriteLine("最便宜的车是{0},{1}万元!", a.chex, a.jiag);
 85             Console.WriteLine("-------------------------------------------");
 86             //求宝马中最便宜的车型是什么,所有信息列出
 87             for (int i = 0; i < 8; i++)
 88             {
 89                 for (int j = i + 1; j < 9; j++)
 90                 {
 91                     if (((Che)che.al[j]).chex.Contains("宝马"))
 92                     {
 93                         object t = che.al[i];
 94                         che.al[i] = che.al[j];
 95                         che.al[j] = t;
 96                     }
 97                 }
 98             }
 99             for (int i = 0; i < 2; i++)
100             {
101                 for (int j = i + 1; j < 3; j++)
102                 {
103                     Che jia1 = (Che)che.al[i];
104                     Che jia2 = (Che)che.al[j];
105                     if (jia1.jiag > jia2.jiag)
106                     {
107                         object t = che.al[i];
108                         che.al[i] = che.al[j];
109                         che.al[j] = t;
110                     }
111                 }
112             }
113             Che b = (Che)che.al[0];
114             Console.WriteLine("宝马中最便宜的车是{0},{1}万元,轴距{2}mm,百公里油耗{3}L!", b.chex, b.jiag, b.zhouj, b.youh);
115             Console.WriteLine("-------------------------------------------");
116             //选个轴距最长的
117             for (int i = 0; i < 8; i++)
118             {
119                 for (int j = i + 1; j < 9; j++)
120                 {
121                     Che zhou1 = (Che)che.al[i];
122                     Che zhou2 = (Che)che.al[j];
123                     if (zhou1.zhouj < zhou2.zhouj)
124                     {
125                         object t = che.al[i];
126                         che.al[i] = che.al[j];
127                         che.al[j] = t;
128                     }
129                 }
130             }
131             Che c = (Che)che.al[0];
132             Console.WriteLine("轴距最长的车是{0},轴距{1}mm!", c.chex, c.zhouj);
133             Console.WriteLine("-------------------------------------------");
134             //选个轴距最长的,必须是奔驰
135             for (int i = 0; i < 8; i++)
136             {
137                 for (int j = i + 1; j < 9; j++)
138                 {
139                     if (((Che)che.al[j]).chex.Contains("奔驰"))
140                     {
141                         object t = che.al[i];
142                         che.al[i] = che.al[j];
143                         che.al[j] = t;
144                     }
145                 }
146             }
147             for (int i = 0; i < 2; i++)
148             {
149                 for (int j = i + 1; j < 3; j++)
150                 {
151                     Che zhou1 = (Che)che.al[i];
152                     Che zhou2 = (Che)che.al[j];
153                     if (zhou1.zhouj < zhou2.zhouj)
154                     {
155                         object t = che.al[i];
156                         che.al[i] = che.al[j];
157                         che.al[j] = t;
158                     }
159                 }
160             }
161             Che d = (Che)che.al[0];
162             Console.WriteLine("奔驰中轴距最长的车是{0},轴距{1}mm!", d.chex, d.zhouj);
163             Console.WriteLine("-------------------------------------------");
164             //想要一辆油耗最低的车
165             for (int i = 0; i < 8; i++)
166             {
167                 for (int j = i + 1; j < 9; j++)
168                 {
169                     Che you1 = (Che)che.al[i];
170                     Che you2 = (Che)che.al[j];
171                     if (you1.youh > you2.youh)
172                     {
173                         object t = che.al[i];
174                         che.al[i] = che.al[j];
175                         che.al[j] = t;
176                     }
177                 }
178             }
179             Che e = (Che)che.al[0];
180             Console.WriteLine("最低油耗的车是{0},百公里油耗{1}L!", e.chex, e.youh);
181             Console.WriteLine("-------------------------------------------");
182             //想要一辆油耗最低的奥迪车
183             for (int i = 0; i < 8; i++)
184             {
185                 for (int j = i + 1; j < 9; j++)
186                 {
187                     if (((Che)che.al[j]).chex.Contains("奥迪"))
188                     {
189                         object t = che.al[i];
190                         che.al[i] = che.al[j];
191                         che.al[j] = t;
192                     }
193                 }
194             }
195             for (int i = 0; i < 2; i++)
196             {
197                 for (int j = i + 1; j < 3; j++)
198                 {
199                     Che you1 = (Che)che.al[i];
200                     Che you2 = (Che)che.al[j];
201                     if (you1.youh > you2.youh)
202                     {
203                         object t = che.al[i];
204                         che.al[i] = che.al[j];
205                         che.al[j] = t;
206                     }
207                 }
208             }
209             Che f = (Che)che.al[0];
210             Console.WriteLine("奥迪最低油耗的车是{0},百公里油耗{1}L!", f.chex, f.youh);
211             Console.WriteLine("-------------------------------------------");
212             //我只有50万,看看能买什么车
213             Console.Write("我有50万,能买到:");
214             for (int j = 0; j < 9; j++)
215             {
216                 if (((Che)che.al[j]).jiag <= 50)
217                 {
218                     Che g = (Che)che.al[j];
219                     Console.Write("{0}\t", g.chex);
220                 }
221             }
222             Console.Write("\n");
223             Console.WriteLine("-------------------------------------------");
224             //我只需要60万以上的车,列出来所有车型和所有信息
225             Console.Write("60万以上的有:");
226             for (int j = 0; j < 9; j++)
227             {
228                 if (((Che)che.al[j]).jiag >= 60)
229                 {
230                     Che g = (Che)che.al[j];
231                     Console.Write("{0},{1}万元,{2}mm,百公里油耗{3}L\t", g.chex,g.jiag,g.zhouj,g.youh);
232                 }
233             }
234             Console.Write("\n");
235             Console.WriteLine("-------------------------------------------");
236 
237             //轴距必须超过3m,列列表
238 
239             Console.WriteLine("轴距3米以上的有:");
240             Console.WriteLine("车型         \t价格(万)\t轴距(mm)\t油耗(L/100Km)");
241             for (int j = 0; j < 9; j++)
242             {
243                 if (((Che)che.al[j]).zhouj >= 3000)
244                 {
245                     Che h = (Che)che.al[j];
246                     Console.WriteLine("{0}\t{1}        \t{2}      \t{3}\t", h.chex, h.jiag, h.zhouj, h.youh);
247                 }
248             }
249             Console.Write("\n");
250             Console.WriteLine("-------------------------------------------");
251             //油耗在8.5以下都行,列列表
252             Console.WriteLine("油耗8.5以下的有:");
253             Console.WriteLine("车型         \t价格(万)\t轴距(mm)\t油耗(L/100Km)");
254             for (int j = 0; j < 9; j++)
255             {
256                 if (((Che)che.al[j]).youh <=8.5)
257                 {
258                     Che h = (Che)che.al[j];
259                     Console.WriteLine("{0}\t{1}        \t{2}      \t{3}\t", h.chex, h.jiag, h.zhouj, h.youh);
260                 }
261             }
262             Console.Write("\n");
263             Console.WriteLine("-------------------------------------------");
264 
265             //我不在乎油耗,要油耗最高的车
266             for (int i = 0; i < 8; i++)
267             {
268                 for (int j = i + 1; j < 9; j++)
269                 {
270                     Che you1 = (Che)che.al[i];
271                     Che you2 = (Che)che.al[j];
272                     if (you1.youh < you2.youh)
273                     {
274                         object t = che.al[i];
275                         che.al[i] = che.al[j];
276                         che.al[j] = t;
277                     }
278                 }
279             }
280             Che k = (Che)che.al[0];
281             Console.WriteLine("油耗最高的车是{0},百公里耗油{1}L!", k.chex, k.youh);
282             Console.WriteLine("-------------------------------------------");
283 
284             Console.ReadLine();
285         }
View Code

技术分享

 

传值传址 结构体