`
experience
  • 浏览: 196541 次
社区版块
存档分类
最新评论
阅读更多

没有时间整理了,代码效率很低,以后有时间提高,仅供大家讨论:)偷懒,没有写注释,把计算放在Click方法了。相关背景

 

    1         private void Find_Click(object sender, EventArgs e) // Find the birthday

    2         {

    3             BirthdayManager bm = new BirthdayManager();

    4 

    5             foreach (Birthiday birthday in bm.BirthdayList)

    6             {

    7                 int date = birthday.Date;

    8 

    9                 if (bm.CountDate(date) == 1) // The date value must not be unique, or Qiang would know it at first.

   10                 {

   11                     bm.MarkMon(birthday.Mon, false);

   12                 }

   13             }

   14 

   15             bm.ExcludeImpossible();

   16 

   17             foreach (Birthiday birthiday in bm.BirthdayList)

   18             {

   19                 int date = birthiday.Date;

   20 

   21                 if (bm.CountDate(date) > 1) birthiday.Possible = false; // The date value must be unique, or Qiang would not know it!

   22             }

   23 

   24             bm.ExcludeImpossible();

   25 

   26             foreach (Birthiday birthiday in bm.BirthdayList)

   27             {

   28                 int mon = birthiday.Mon;

   29 

   30                 if (bm.CountMon(mon) > 1) birthiday.Possible = false; // The month value must be unique, or Ming would not know it!

   31             }

   32             bm.ExcludeImpossible();

   33 

   34         }

   35 

   36         public class Birthiday // A quite simple class

   37         {

   38             public int Mon;

   39             public int Date;

   40             public bool Possible;

   41 

   42             public Birthiday(int mon, int date)

   43             {

   44                 Possible = true;

   45                 Mon = mon;

   46                 Date = date;

   47             }

   48 

   49             public new string ToString()

   50             {

   51                 if (Possible) return "Possible Mon:" + Mon + "; Date:" + Date;

   52                 else return "Not Possible Mon:" + Mon + "; Date:" + Date;   

   53             }

   54 

   55         }

   56 

   57         public class BirthdayManager // You are not supposed to read this classJ, the method names are so understandable!

   58         {

   59             Birthiday[] birthdays = new Birthiday[10];

   60             public IList<Birthiday> BirthdayList = new List<Birthiday>();

   61 

   62             public BirthdayManager()

   63             {

   64                 birthdays[0] = new Birthiday(3, 4);

   65                 birthdays[1] = new Birthiday(3, 5);

   66                 birthdays[2] = new Birthiday(3, 8);

   67                 birthdays[3] = new Birthiday(6, 4);

   68                 birthdays[4] = new Birthiday(6, 7);

   69                 birthdays[5] = new Birthiday(9, 1);

   70                 birthdays[6] = new Birthiday(9, 5);

   71                 birthdays[7] = new Birthiday(12, 1);

   72                 birthdays[8] = new Birthiday(12, 2);

   73                 birthdays[9] = new Birthiday(12, 8);

   74                 foreach (Birthiday birthday in birthdays)

   75                 {

   76                     BirthdayList.Add(birthday);

   77                 }

   78             }

   79 

   80             public int CountDate(int date)

   81             {

   82                 int count = 0;

   83                 foreach (Birthiday birthiday in BirthdayList)

   84                 {

   85                     if (birthiday.Date == date) count++;

   86                 }

   87                 return count;

   88             }

   89 

   90             public int CountMon(int mon)

   91             {

   92                 int count = 0;

   93                 foreach (Birthiday birthiday in BirthdayList)

   94                 {

   95                     if (birthiday.Mon == mon) count++;

   96                 }

   97                 return count;

   98             }

   99 

  100             public void MarkMon(int mon, bool b)

  101             {

  102                 foreach (Birthiday birthiday in BirthdayList)

  103                 {

  104                     if (birthiday.Mon == mon) birthiday.Possible = b;

  105                 }

  106             }

  107 

  108             public void ExcludeImpossible()

  109             {

  110                 BirthdayList.Clear();

  111                 foreach (Birthiday birthday in birthdays)

  112                 {

  113                     if (birthday.Possible) BirthdayList.Add(birthday);

  114                 }

  115             }

  116 

  135             public new string ToString()

  136             {

  137                 string ret = "";

  138                 foreach (Birthiday birthiday in BirthdayList)

  139                 {

  140                     ret += birthiday.ToString() + "\n";

  141                 }

  142                 return ret;

  143             }

  144         }

分享到:
评论

相关推荐

    老师给学生生日祝福语精选.doc

    这些祝福语不仅仅是对教师生日的祝贺,更是对教师崇高职业的赞美,展现了良好的师生关系,以及教育在个人和社会发展中的核心作用。通过这些祝福,我们可以感受到教师对学生的深远影响,以及学生对教师的深深感激和...

    老师50岁生日学生致辞精选.doc

    很抱歉,但根据您提供的文件信息,这似乎是一个关于教师生日致辞的文档集合,内容主要是学生和校长对教师表达敬意和祝福的言语。这些致辞充满了对教师职业生涯的赞扬和对他们个人生活的庆祝,体现了教师在社会和学生...

    二年级数学上册 生日 2教案 北师大版 教案.doc

    - **数据处理能力**:学生将学习如何调查、收集和整理数据,以及如何根据图表解答问题,提升他们的实际操作技能。 - **交流与合作**:在活动中鼓励学生与同伴交流思想,提高他们的合作能力和口头表达能力。 2. **...

    一年级数学上册解决问题解答应用题练习题大全练习题真题带答案解析.pdf

    如果要为一年级学生准备类似的练习题,教师可以设计各种与学生日常生活紧密相关的场景,例如到超市购物、过生日分蛋糕、组织郊游需要的物品准备等,让学生在解决问题的过程中练习基本的数学运算和逻辑思维能力。...

    【编号73】生日祝福版本1.pptx

    很抱歉,但根据您提供的信息,"【编号73】生日祝福版本1.pptx"是一个生日祝福的PPT模板,内容主要是关于友情的回忆,提到了一起成长的经历,如上学、打球和玩LOL(英雄联盟)游戏,以及共同经历的时光,比如被老师罚...

    活动策划(培训学校生日会).doc

    活动流程包括现场布置、签到、互动游戏、庆祝生日、分发蛋糕、欢送辞以及解答家长疑问等环节。主持人在每个环节中起到引导和协调的作用,确保活动顺利进行。 **作业流程** 作业流程主要涉及活动前的准备工作,如...

    北师大版数学一年级上册《过生日》习题.pdf

    在教学过程中,教师可以利用现代技术工具,如“学乐师生”APP,录制解答过程、录音讲解或拍照分享,这样可以增强互动性,提高学生的学习兴趣,同时也能让家长和教师更好地跟踪学生的学习进度和理解程度。 总的来说...

    一年级语文下册 生日礼物 2教案 西师大版 教案.doc

    3. 对学生的疑问进行集体讨论,尽可能让学生自己解决问题,教师适时介入解答未明之处。 4. 深入理解课文,引导学生以情感投入的方式阅读,特别是最后一段,让学生思考和表达“我”可能的想法,以此锻炼他们的想象力...

    祝贺外婆七十岁生日.doc

    这种数字化的学习和交流方式在IT行业中尤其普遍,如GitHub、Stack Overflow等平台,它们为开发者提供了大量的代码示例、问题解答和学习材料。 总的来说,尽管这篇文档的主题是个人情感表达,但它触及了信息共享、...

    教师资格考试材料分析题答题思路学习教案.pptx

    【教师资格考试材料分析题答题思路】 在教师资格考试中,材料分析题是重要的考核部分,涉及《综合...通过这样的答题策略,考生可以有效地解答教师资格考试中的材料分析题,展示出对教育理论的深刻理解和实际应用能力。

    教师资格证材料分析题答题技巧.docx

    在材料中,教师决定举办主题班会代替学生的生日聚会,以此引导学生树立正确的价值观,促进他们的全面发展。这种做法体现出: - **素质教育理念**: - 素质教育强调面向全体学生,促进学生全面而个性化的发展。教师...

    浅谈教师如何教育关爱留守儿童.pdf

    7. 补充家庭关爱:教师可以通过各种方式,如组织课外活动、个人谈话等,来弥补留守儿童在家庭关爱上的缺失,让他们感受到学校是他们的第二个家,老师是他们的朋友和亲人。 总结:教育留守儿童需要教师具备高度的...

    用问题驱动课堂教学.doc

    【标题】:“用问题驱动课堂教学.doc” 【描述】:这篇文档是关于如何运用...10. **评价与反馈**:教师在课堂上对学生的问题解答和活动表现给予及时反馈,有助于学生理解和掌握知识,同时也促进了教学过程的动态调整。

    创新思维学习心得.pdf

    课堂上,教师不仅要解答问题,还要鼓励学生提出自己的疑问。教师应建立友好、信任的师生关系,消除学生对提问的恐惧,培养他们敢于质疑的勇气。如在讲解“平行”概念时,对学生提出的“为什么必须在同一平面内?”这...

    七年级道德与法治上册第三单元师长情谊测试题新人教版.doc

    这表明教师不仅是知识的传递者,也是道德的引导者和问题的解答者。 2. 当代教师的要求:随着时代的发展,教师的角色和要求也在不断变化。成为一名优秀的教师,需要具备理想信念,有高尚的道德情操,扎实的专业学识...

    外研版一起小学英语五上《Module 4Unit 1 We’re going to tell stories.》word教案 (

    - 练习环节:学生跟读录音,然后分组自我阅读和角色扮演,进一步熟悉文本内容,并在活动书中解答有关文本的问题。 - 巩固环节:通过游戏活动加强学生对所学内容的理解,例如“动作猜词”和“抽卡片回答”,既有趣...

    2019下半年- 中学《综合素质》真题及答案.pdf

    例如,班主任如何处理班级中大操大办生日风气问题,如何处理学生不良卫生习惯问题,以及如何平衡教学与学生活动等问题。这些问题没有固定的答案,需要教师根据实际情况灵活应对,既要维护学校规章制度,又要顾及学生...

    基于SSM的儿童思德教育网设计与实现+毕业论文

    专业人士可对普通用户提出的问题予以解答 1.主页:系统介绍该网站,通过网络信息的广泛传播,来指导家长及老师运用新型的教育方式,在日常生活中,潜移默化地引导3-7岁的儿童,使其养成良好的思想品德。分享一些教育...

    数据库理论与技术课程实验报告七(参考解答).pdf

    【数据库理论与技术课程实验报告七(参考解答)】 本实验报告主要涵盖了数据库安全性和完整性的实践,以SQL Server 2008为平台。实验旨在让学生深入理解数据库的保护机制,包括视图技术、权限管理和完整性约束。...

    四下Unit 6 Today Is Her Birthday课时练习题及答案精选.doc

    这篇文档是针对小学四年级下学期英语学习的内容,主要涵盖了Unit 6 "Today Is Her Birthday...在教学过程中,教师可以结合生活实例,比如模拟生日派对,让学生在实践中学习和运用这些词汇,使学习更有趣、更具实效性。

Global site tag (gtag.js) - Google Analytics