首页 > 代码库 > 传值传址 结构体
传值传址 结构体
传值
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 }
//请输入班级人数,输入每个人的学号,姓名,和语文分数、数学分数和英语分数(要求使用结构体),
//求班级里两个语文分数是最高分的学生的所有信息;数学分数是最高分的两个学生的所有信息;英语平均分。
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 }
//定义一个结构体,存放关于车辆的几个信息
//将所有车的信息都放入集合中
//车型号 价格(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 }
传值传址 结构体