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