数据结构课程设计试验报告.docVIP

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构课程设计试验报告

数 据 结 构 课 程 设 计 报 告 姓 名: 专业班级: 学 号: 2013年7月13日 题目:日历查询系统 摘要:数据结构是计算机专业的教学计划中的核心课程之一,数据结构在计算机科学中是一门综合性的专业基础课。“数据结构”的研究不仅涉及到计算机硬件(特别是编码理论、存储装置和存取方法等)的研究范围,而且和计算机软件的研究有着更密切的关系,无论是编译程序还是操作系统,都涉及到数据元素在存储器中的分配问题。本程序主要运用c语言来编写日历,通过给定的年,求该年的日历,闰年算法:{Y%4 !Y%100}||Y%400==0 (用到数据结构知识)。输出公元1年至9999年的日历,能够实现以标准日历的形式输出,包含月份、星期以及具体某一天对应的年、月、星期,运用了用数据结构课上所学二叉树及队列顺序存储形式存储; 关键词:数据结构 日历 闰年 二叉树 队列 一 问题重述 用c语言所编程序必须实现以下功能: 1)输入任一年将显示出该年的所有月份日期,对应的星期 2)注意闰年情况 其显示格式要求如下: 1)中文英文都可以 2)下一行显示星期,从周日到周六,中英文都可以 3)下一行开始显示日期从1号开始,并按其是周几实际情况与上面的星期数垂直对齐 二、问题分析 此日历输出的有效年份为:公元1年至9999年,必须以标准日历的形式输出,包含月份、星期以及具体某一天对应的年、月、星期,必须要用数据结构课上所学二叉树及队列顺序存储形式存储。 分析知万年历具有以下特点: 1、平年365天(52周+1天),闰年366天(52周+2天)。平年2月28天,闰年2月29天。 2、每400年整一闰,或每4年且不为百年的一闰。(原因:地球绕太阳一周的时间是365天5小时46秒,为了使一年的天数为整数,将一年的天数定为365天,余下的时间积累起来,四年就是23小时15分4秒,将近一天,把这一天加在某年的二月而成29天,该年称为闰年,其它年称为平年。但四年加一天又多用了44分56秒,这个数积满400年为三天。因此400年中只能有97个闰年,所以凡能被400整除,或不能被100整除但能被4整除的年份为闰年。) 3、每 4年(3个平年+1个闰年)共208周+5天; 每百年共100*(208周+5天)-1天=5217周+5天 ;每400年共4*(5217周+5天)+1天(整400年闰)=20871周+0天——注意这个“0天”和“1天”(4个整百年只有一个闰年) 即400年一轮回! 三、程序的设计 根据日历的特点进行编写程序: 1、首先对万年历年、月、日进行编写,编写程序先定义每月的天数为28天,如月份为1、3、5、7、8、10、12就定义天数为31天反之如果月份为4、6、9、11就输出天数为30天,由上可见2月份为28天但是如果为闰年就有29天就要定义一个数组存放天数,用while循环控制。 2、再对其中的星期进行编写:由于公元1月1日设为星期六,故3月1日为星期三,可以用万年3月1日星期算法(特别是那个三) (1)闰年函数的定义: int RunNian( int year ) { if ((year %4 == 0) (year % 100 != 0) ||(year % 400 == 0) ) return 1; else return 0; } (2)判断星期的程序设计: i = Year_days % 7; printf( 日 一 二 三 四 五 六 \n); if( i != 0 ) for( temp_i = 0; temp_i i; temp_i++) printf( ); day = 1; (3)用switch语句定义月份: for( temp = 1; temp =12; temp++ ) { switch( temp ) { case 1: printf(*****************************\n); printf((%d)年1月日历\n,year); break; case 2: printf(*****************************\n); printf((%d)年2月日历\n,year); bre

文档评论(0)

tmd2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档