第九章:结构体素材.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
定义两个日期结构体变量(包括年、月、日)。输入两个日期值,比较两个日期的大小(越靠后越大),输出较大的日期。 将1题中输入的日期进行验证,保证日期的正确性。(1)不可为负数;(2)年份1900-2056之间,月份在1-12之间;(3)日期在1-31日以内(注意各月份的日期数判断及闰年的判断)(Year % 4 ==0 Year % 100 !=0 || Year % 400 ==0) 输入两个日期,编程交换两个日期值,保证第一个日期是较大的日期(日期的大小比较用函数表达)。 计算某日期是一年中的第几天。 计算两日期间相差的天数。 利用基姆拉尔森计算公式W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7,计算任意日期是星期几。说明:1)在公式中d表示日期中的日数,m表示月份数,y表示年数。注意:在公式中有个与其他公式不同的地方:把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算。,每本书有:书名(name),作者(author) , 编号(num),出版日期(date)四个数据,希望输入后按书名的字母顺序将各书的记录排列好,供以后查询。今输入一本书的书名,如果查询到库中有此书,打印出此书的书名,作者,编号和出版日期。如果查不到此书,则打印出“无此书”。 利用指针重做9题:分别设计函数(1)结构数组的数据输入;(2)结构数组的输出;(3)数组排序;(4)查询; 关于链表: 参考第8题,编写函数,建立动态链表,输入几位同学的信息(学号、姓名、数学、计算机、平均分、总分),然后在屏幕上输出这些数据。 将11题中,各同学的总分与平均分计算出来,并输出所有数据; 建立函数,为上题 中的链表添加一个新的节点。 建立按姓名查找某同学记录的函数,找到返回该节点的地址,未找到返回NULL; 在某个同学纪录之前插入一个新的节点。(某同学记录之后插入一个新的节点) 删除找到的某个同学记录的节点。 单向链表逆置;. 对单链表按照数学成绩从高到低排序;(只交换除指针成员next之外的其他成员变量的值) 对两个链表进行连接;两个有序链表合并(保持有序); 利用指针,交换链表中任意两个节点;(p,q为需要交换的两个节点,首先保证p=q,并作为传递的参数,函数中分为几种情形: 利用20题函数,重写链表的排序; (以下例题开始使用带头节点的链表,可以减小编程的难度) 利用链表完成习题:有17个人围成一圈(编号为0~16),从第 0号的人开始从 1报数, 凡报到 3的倍数的人离开圈子,然后再数下去,直到最后只剩下一个人为止。 问此人原来的位置是多少号? 利用插入法,每输入一个节点数据就按顺序插入到链表的某个位置,输入完成即链表排序完成,输出链表的各节点数据。 编写程序,建立环形链表及双向链表(带头节点),并正向、反向输出双向链表中所有节点数据; 编写双向链表的节点插入、删除、交换、排序函数 编写一个完整、简易的成绩管理系统: 说明: 1)结构体定义:Student——学号num,姓名name,班级classes,语文chinese,数学math,英语english,总分sum; 2)系统功能:a.成绩录入; b.添加数据(在链表的末尾添加);c.删除某生成绩数据;d.成绩修改;e.成绩排序(第一关键字班级,第二关键字总分);f.成绩输出(指定班级输出或全部输出,要输出一项人数信息); 参考答案 第2题: main() { struct Date{ int year; int month; int day; }d1; printf(input date 1(year-month-day):\n); scanf(%d-%d-%d,d1.year,d1.month,d1.day); if(yzyear(d1.year)yzmonth(d1.month)yzday(d1.year,d1.month,d1.day)) printf(yes); else printf(no); getch(); } yzyear(int year) { if(year1900||year2056) return 0; return 1; } yzmonth(int month) { if(month1||month12) return 0; return 1; } yzday(int year,int month,int day) { switch (mon

文档评论(0)

知识宝库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档