结构体练习题.docxVIP

  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)编写一函数,计算两个日期之间的时间差,并将其值返回。 日期以年、月、日表示。 “时间差”以天数表示。 注意考虑日期之间的闰年。 函数的输入参数为日期1和日期2, 函数的返回值为时间差,单位为天数。 (2)编写一程序,在主函数中输入两个日期,调用上述函数计算两个日期之间的时间差,并 将结果输出。 为了计算简便,假设用户输入的日期1总是早于日期2。 参考代码: #includestdio.h struct date { int year; int month; int day; }; int isLeap(int year); int dif(struct date a, struct date b); void main() { struct date a, b; printf(请输入日期1(空格分隔,年月日):\n); scanf(%d%d%d, a.year, a.month, a.day); printf(请输入日期2(空格分隔,年月日,晚于日期1):\n); scanf(%d%d%d, b.year, b.month, b.day); printf(相差天数为:); printf( %d 天\n, dif(a, b)); } int isLeap(int year) //判断一个年份是否是闰年的函数 { if(year%400==0 || (year%4==0 year%100!=0)) return 1; else return 0; } int dif(struct date a, struct date b) { int i; long day=0, day1=0, day2=0; int d[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,3 1,31,30,31,30,31}}; // day变量为年份a到年份b前一年的年份总天数 for(i=a.year; ib.year; i++) if(isLeap(i)) day += 366; else day += 365; // day1变量为年份a年初到当天的年内总天数 for(i=1; ia.month; ++i) day1 += d[isLeap(a.year)][i]; day1 += a.day; // day1变量为年份b年初到当天的年内总天数 for(i=1; ib.month; ++i) day2 += d[isLeap(b.year)][i]; day2 += b.day; return day + day2 - day1; } 参考截图: 第2 题:结构体数组应用 请定义一个描述学生基本信息的结构,包括姓名,学号,籍贯,身份证号,年龄,家庭 住址,性别,联系方式等。并定义一个结构体数组。编程: a) 编写函数 input() , 输入基本信息(3~5 条记录); b) 编写函数 print(),输出全体记录信息; c) 编写函数 search(), 检索一个指定的学生信息并返回, 由主函数打印到屏幕上; d) 说明,访问结构的时候,什么时候应该用运算符“.”,什么时候应该用运算符“-”。 (运算符前是结构体变量时用“.”,是指向结构体变量的指针时用“-”) 参考代码: #include stdio.h #include string.h #define N 3 //增加程序的可扩展性 struct student { char name[20]; char num[15]; char place[20]; char id[20]; int age; char address[100]; char sex; char phone[15]; } stu[N]; void input(struct student stu[]); void print(struct student stu[]); void search(struct student stu[], char name[]); void main() { char name[20]; input(stu); print(stu); printf(\n请输入想要查找的学生姓名: ); scanf(%s, name); search(stu, name); } void input(struct student stu[]) { for(int i=0; iN; i++) { printf(请输入第%d个学生的信息:\n, i+1); printf(姓名: ); scanf(%s, stu[i].name); printf(学号: ); scanf(%s

文档评论(0)

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

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

1亿VIP精品文档

相关文档