枚举类型

一组常量的组合,

在不制定任何索引的情况下,默认第一个字段从0开始,之后的依次+1 在指定了某个索引的情况下,之后的依次+1 若之前定义的某字段的索引指向了之后的某个默认字段,那么他俩完全相同

不需要初始化

Console.WriteLine(meiju.five);

//常量字段 Console.WriteLine((int)meiju.five);

//字段代表的值 Console.WriteLine(meiju.one);

//常量字段 Console.WriteLine((int)meiju.one);

//字段代表的值 Console.WriteLine(meiju.four);

//定义枚举类型时,等于之前的一个字段,那么就是等于那个字段

//定义枚举类型时,等于一个int的时候,他和他后面的索引+1

1,

Arraylist + struct 综合练习    数据的存放     数据的 提取     提取时注意格式转变           初始化

//定义一个结构体,存放关于车辆的几个信息
            //将所有车的信息都放入集合中
            //车型号               价格(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

  class Program
{
struct Car
{
public string name;
public double price;
public double zhou;
public double you;
} static void Main(string[] args)
{ #region 购车例题
ArrayList caral=new ArrayList();
Car a1=new Car();
a1.name="宝马320Li";
a1.price=;
a1.zhou=;
a1.you=6.9;
caral.Add(a1);
Car a2=new Car();
a2.name="宝马520Li";
a2.price=;
a2.zhou=;
a2.you=7.2;
caral.Add(a2); Car a3=new Car();
a3.name="宝马730Li";
a3.price=;
a3.zhou=;
a3.you=6.3;
caral.Add(a3); Car a4=new Car();
a4.name="奥迪A4L35TFSI";
a4.price=;
a4.zhou=;
a4.you=6.2;
caral.Add(a4); Car a5=new Car();
a5.name="奥迪A6L30TFSI";
a5.price=;
a5.zhou=;
a5.you=7.6;
caral.Add(a5); Car a6=new Car();
a6.name="奥迪A8L45TFSI";
a6.price=;
a6.zhou=;
a6.you=8.1;
caral.Add(a6); Car a7=new Car();
a7.name="奔驰C200L";
a7.price=;
a7.zhou=;
a7.you=6.1;
caral.Add(a7); Car a8=new Car();
a8.name="奔驰E260L";
a8.price=;
a8.zhou=;
a8.you=6.7;
caral.Add(a8); Car a9=new Car();
a9.name="奔驰S320L";
a9.price=;
a9.zhou=;
a9.you=;
caral.Add(a9);
//所有在售车辆中最便宜的
for (int i = ; i < ;i++ )
{
for (int j = i + ; j < ;j++ )
{
Car q1 =(Car)caral[i];
Car q2 = (Car)caral[j];
if(q1.price>q2.price)
{
object zhong = caral[i];
caral[i] = caral[j];
caral[j] = zhong;
}
}
}
Car cheap = (Car)caral[];
Console.WriteLine("最便宜的是{0},价格{1},轴距{2},油耗{3}。",cheap.name,cheap.price,cheap.zhou,cheap.you); Console.WriteLine("---------------------------------------------------------------------------------------------"); //求宝马中最便宜的车型是什么,所有信息列出
for (int i = ; i < ;i++ )
{
Car baocheap = (Car)caral[i];
if(baocheap.name.Contains("宝马"))
{
Console.WriteLine("宝马车中最便宜的是{0},价格{1},轴距{2},油耗{3}。", baocheap.name, baocheap.price, baocheap.zhou, baocheap.you);
break;
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //选个轴距最长的
for (int i = ; i < ; i++)
{
for (int j = i + ; j < ; j++)
{
Car q1 = (Car)caral[i];
Car q2 = (Car)caral[j];
if (q1.zhou < q2.zhou)
{
object zhong = caral[i];
caral[i] = caral[j];
caral[j] = zhong;
}
}
}
Car zhou = (Car)caral[];
Console.WriteLine("轴距最长的车是{0},价格{1},轴距{2},油耗{3}。", zhou.name, zhou.price, zhou.zhou, zhou.you);
Console.WriteLine("---------------------------------------------------------------------------------------------"); //选个轴距最长的,必须是奔驰
for (int i = ; i < ; i++)
{
Car zhouben = (Car)caral[i];
if (zhouben.name.Contains("奔驰"))
{
Console.WriteLine("奔驰车中轴距最长的是{0},价格{1},轴距{2},油耗{3}。", zhouben.name, zhouben.price, zhouben.zhou, zhouben.you);
break;
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //想要一辆油耗最低的车
for (int i = ; i < ; i++)
{
for (int j = i + ; j < ; j++)
{
Car q1 = (Car)caral[i];
Car q2 = (Car)caral[j];
if (q1.you > q2.you)
{
object zhong = caral[i];
caral[i] = caral[j];
caral[j] = zhong;
}
}
}
Car youdi = (Car)caral[];
Console.WriteLine("油耗最低的车辆是{0},价格{1},轴距{2},油耗{3}。", youdi.name, youdi.price, youdi.zhou, youdi.you);
Console.WriteLine("---------------------------------------------------------------------------------------------"); //想要一辆油耗最低的奥迪车
for (int i = ; i < ; i++)
{
Car zhouben = (Car)caral[i];
if (zhouben.name.Contains("奥迪"))
{
Console.WriteLine("奥迪车中油耗最低的是{0},价格{1},轴距{2},油耗{3}。", zhouben.name, zhouben.price, zhouben.zhou, zhouben.you);
break;
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //我只有50万,看看能买什么车
int biao = ;
for (int i = ; i < ;i++ )
{
Car diwushi = (Car)caral[i];
if(diwushi.price<=)
{
biao++;
Console.WriteLine("第{0}辆:{1},价格{2},轴距{3},油耗{4}。",biao,diwushi.name,diwushi.price,diwushi.zhou,diwushi.you);
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //我只需要60万以上的车,列出来所有车型和所有信息
int biao1 = ;
for (int i = ; i < ; i++)
{
Car diwushi = (Car)caral[i];
if (diwushi.price > )
{
biao1++;
Console.WriteLine("第{0}辆:{1},价格{2},轴距{3},油耗{4}。", biao1, diwushi.name, diwushi.price, diwushi.zhou, diwushi.you);
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //轴距必须超过3m,列列表
int biao2 = ;
for (int i = ; i < ; i++)
{
Car diwushi = (Car)caral[i];
if (diwushi.zhou>)
{
biao2++;
Console.WriteLine("第{0}辆:{1},价格{2},轴距{3},油耗{4}。", biao2, diwushi.name, diwushi.price, diwushi.zhou, diwushi.you);
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //油耗在8.5以下都行,列列表
int biao3 = ;
for (int i = ; i < ; i++)
{
Car diwushi = (Car)caral[i];
if (diwushi.you<=8.5)
{
biao3++;
Console.WriteLine("第{0}辆:{1},价格{2},轴距{3},油耗{4}。", biao3, diwushi.name, diwushi.price, diwushi.zhou, diwushi.you);
}
}
Console.WriteLine("---------------------------------------------------------------------------------------------"); //我不在乎油耗,要油耗最高的车
for (int i = ; i < ; i++)
{
for (int j = i + ; j < ; j++)
{
Car q1 = (Car)caral[i];
Car q2 = (Car)caral[j];
if (q1.you < q2.you)
{
object zhong = caral[i];
caral[i] = caral[j];
caral[j] = zhong;
}
}
}
Car yougao = (Car)caral[];
Console.WriteLine("油耗最高的车辆是{0},价格{1},轴距{2},油耗{3}。", yougao.name, yougao.price, yougao.zhou, yougao.you); #endregion

购车 方法1

2.
public ArrayList al = new ArrayList();      注意位置

//输入班级人数,输入学生的学号、姓名、语数英分数
            //存入结构体
            //然后求语文分数为最高分的两个学生的所有信息
            //数学最高分的两个学生的信息
            //英语平均分

 class Program
{
#region 成绩
//结构体是自定义类型,可以当做数据类型来使用
struct Student
{
public int code;
public string name;
public Score score;
}
struct Score
{
public double yufen;
public double shufen;
public double yingfen;
}
public ArrayList al = new ArrayList(); ******* static void Main(string[] args)
{ #region 班级排名 //输入班级人数,输入学生的学号、姓名、语数英分数
//存入结构体
//然后求语文分数为最高分的两个学生的所有信息
//数学最高分的两个学生的信息
//英语平均分
Console.Write("请输入班级人数:");
int a = int.Parse(Console.ReadLine());
Program hs = new Program();
for (int i = ; i < a;i++ )
{
Student st = new Student();
Console.Write("请输入第{0}个学生的学号:",(i+));
st.code = int.Parse(Console.ReadLine());
Console.Write("请输入第{0}个学生的姓名:", (i + ));
st.name = Console.ReadLine();
Console.Write("请输入第{0}个学生的语文分数:", (i + ));
st.score.yufen = double.Parse(Console.ReadLine());
Console.Write("请输入第{0}个学生的数学分数:", (i + ));
st.score.shufen = double.Parse(Console.ReadLine());
Console.Write("请输入第{0}个学生的英语分数:", (i + ));
st.score.yingfen = double.Parse(Console.ReadLine());
hs.al.Add(st);
}
Console.WriteLine("所有人员信息输入完毕!请按回车键继续!");
Console.ReadLine();
//然后求语文分数为最高分的两个学生的所有信息
for (int i = ; i < a - ;i++ )
{
for (int j = i + ; j < a;j++ )
{
Student st1 =(Student)hs.al[i];
Student st2 =(Student)hs.al[j];
if(st1.score.yufen<st2.score.yufen)
{
object zhong = hs.al[i];
hs.al[i] = hs.al[j];
hs.al[j] = zhong;
}
}
}
Student yu1 = (Student)hs.al[];
Student yu2 = (Student)hs.al[];
Console.WriteLine("语文分数最高的第一个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。",yu1.code,yu1.name,yu1.score.yufen,yu1.score.shufen,yu1.score.yingfen);
Console.WriteLine("语文分数最高的第二个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。", yu2.code, yu2.name, yu2.score.yufen, yu2.score.shufen, yu2.score.yingfen);
//数学最高分的两个学生的信息
for (int i = ; i < a - ; i++)
{
for (int j = i + ; j < a; j++)
{
Student st1 = (Student)hs.al[i];
Student st2 = (Student)hs.al[j];
if (st1.score.shufen < st2.score.shufen)
{
object zhong = hs.al[i];
hs.al[i] = hs.al[j];
hs.al[j] = zhong;
}
}
}
Student shu1 = (Student)hs.al[];
Student shu2 = (Student)hs.al[];
Console.WriteLine("数学分数最高的第一个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。", shu1.code, shu1.name, shu1.score.yufen, shu1.score.shufen, shu1.score.yingfen);
Console.WriteLine("数学分数最高的第二个学生的学号:{0},姓名:{1},语文分数:{2},数学分数:{3},英语分数:{4}。", shu2.code, shu2.name, shu2.score.yufen, shu2.score.shufen, shu2.score.yingfen);
//英语平均分
double sum = ;
for (int i = ; i < hs.al.Count;i++ )
{
Student ying = (Student)hs.al[i];
sum += ying.score.yingfen;
}
Console.WriteLine("班级英语平均分是:"+(sum/a));
#endregion

班级排名

3.递归

函数体内调用本函数自身,直到符合某一条件不再继续调用

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 递归练习
{
class Program
{
public int yang(int n)
{
int sum = ;
if(n==)
{
return ; }
sum = * (yang(n + ) + ); return sum;
} static void Main(string[] args)
{
Program y = new Program();
Console.Write("路过村字数量:");
int n = int.Parse(Console.ReadLine());
int sum = y.yang(n);
Console.Write(sum);
Console.ReadLine();

递归例题

C# Arraylist + struct 综合练习 枚举ENUE 递归的更多相关文章

  1. 【ACwing 93】【模版】非递归实现组合型枚举——模拟递归

    (题面来自ACwing) 从 1~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案. 输入格式 两个整数 n,m ,在同一行用空格隔开. 输出格式 按照从小到大的顺序输出所有方案,每行1个 ...

  2. ArrayList方法综合练习

    package com.zs.windows; import java.util.ArrayList; import java.util.Scanner; import com.zs.entity.G ...

  3. Swift Enum 枚举

    前言 枚举是一种自定义的数据类型,在 Swift 中枚举类型拥有相当高的自由度.在 Swift 语言中枚举是一级类型,它拥有在其他语言中只有类才拥有的一些特性,比如实例方法,实例构造器等. 枚举声明的 ...

  4. swift学习笔记之-枚举

    //枚举定义 import UIKit //枚举定义 (枚举.结构体.类的名字首字母必须大写,表示为定义了新的类型) /*枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来 ...

  5. Java实现非递归删除目录

    最近在学C#的文件系统, 发现C#的文件系统貌似比java的东西少一点, 居然连删除目录都直接做好封装了, 想到学java的时候还要自己写递归删除, 好像没写过非递归的,就在网上查了下, 关于非递归删 ...

  6. python14 1.带参装饰器 | wrapper 了了解 # 2.迭代器 ***** # 可迭代对象 # 迭代器对象 # for迭代器 # 枚举对象

    ## 复习 '''函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...

  7. day14带参装饰器,迭代器,可迭代对象 , 迭代器对象 ,for迭代器 , 枚举对象

    复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 装饰 ...

  8. Swift5 语言指南(十) 枚举

    一个枚举定义了一个通用型的一组相关的值,使你在你的代码中的一个类型安全的方式这些值来工作. 如果您熟悉C,您将知道C枚举将相关名称分配给一组整数值.Swift中的枚举更灵活,并且不必为枚举的每个案例提 ...

  9. day14(带参装饰器,迭代器,生成器,枚举对象)

    一,复习 ''' 函数的嵌套定义:在函数内部定义另一个函数 闭包:被嵌套的函数 -- 1.外层通过形参给内层函数传参 -- 2.验证执行 开放封闭原则: 功能可以拓展,但源代码与调用方式都不可以改变 ...

随机推荐

  1. PHP5: mysqli 插入, 查询, 更新和删除 Insert Update Delete Using mysqli (CRUD)

    原文: PHP5: mysqli 插入, 查询, 更新和删除  Insert Update Delete Using mysqli (CRUD) PHP 5 及以上版本建议使用以下方式连接 MySQL ...

  2. EDW on Hadoop(Hadoop上的数据仓库)技术选型和实践思考

    在这篇文章中, 将讨论EDW on Hadoop 有哪些备选方案, 以及我个人的倾向性, 最后是建构方法.  欢迎转载, 但必须注明原贴(刘忠武,  http://www.cnblogs.com/ha ...

  3. 利用flexbox实现按字符长度排列dom元素

    说明:请使用chrome浏览器打开 See the Pen pvyjGV by lilyH (@lilyH) on CodePen. 如上图所示,我们你要实现的效果就是,(1)在一行中显示两块元素:( ...

  4. 2015年12月10日 spring初级知识讲解(二)最小化Spring XML配置 注解

    序,随着Spring容器管理Bean数量增加,XML文件会越来越大,而且纯手工配置XML很繁琐,Spring和JAVA都提供了一些注解方式用以简化XML配置. 目录 一.自动装配(autowiring ...

  5. Tomcat 6 --- 使用Jasper引擎解析JSP

    熟悉JAVA web开发的朋友都知道JSP会被转换成java文件(预编译),然后编译成class使用,即按照JSP-->java-->class的过程进行编译. 由于JVM只认识class ...

  6. VS上利用C#实现一个简单的串口程序记录

    一.背景 工作上需要利用串口往下位机写入数据,VC太老,正好借此机会来熟悉一直很想接触的VS之C#. 感谢Tony托尼哥的串口通信代码,感谢梦真的C#的技术支持. 二.正文 1.项目架构:(以我现有的 ...

  7. 使用PHP的五个小技巧

    PHP的一些小技巧,比较基础,总结一下,老鸟换个姿势飘过去就是. 1. str_replace str_replace是非常常常常常用的php函数,用于字符串替换,经常看到某些php新人为了替换一批字 ...

  8. 第2月第3天 egorefresh

    egorefresh是很老的下拉刷新,它是一个uiview,在uitableview 下拉的时候显示不同的界面. egorefresh和uitableview的耦合度很高,uitableview滚动和 ...

  9. Redis学习笔记一:数据结构与对象

    1. String(SDS) Redis使用自定义的一种字符串结构SDS来作为字符串的表示. 127.0.0.1:6379> set name liushijie OK 在如上操作中,name( ...

  10. 高性能Java网络框架 MINA

    Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...