077.打鱼还是晒网

举报
C语言与CPP编程 发表于 2022/05/02 00:42:25 2022/05/02
【摘要】 #include<stdio.h>struct date{ int year; int month; int day;};int days(struct date day); void main(){ struct date today,term; int yearday,year,day; ...

  
  1. #include<stdio.h>
  2. struct date{
  3. int year;
  4. int month;
  5. int day;
  6. };
  7. int days(struct date day);
  8. void main()
  9. {
  10. struct date today,term;
  11. int yearday,year,day;
  12. puts("◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇");
  13. puts("◇ 打鱼还是晒网 ◇");
  14. puts("◇ 中国有句俗语叫【三天打鱼两天晒网】。 ◇");
  15. puts("◇某人20岁从1990年1月1日起开始【三天打鱼两天晒网】,◇");
  16. puts("◇问这个人在以后的某一天中是【打鱼】还是【晒网】? ◇");
  17. puts("◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇◇\n");
  18. while(1)
  19. {
  20. printf(" >> 请输入年/月/日【输入1990 1 1 退出】:");
  21. scanf("%d%d%d",&today.year,&today.month,&today.day); /*输入日期*/
  22. if(today.year<1990)
  23. {
  24. if(today.year<1970)
  25. puts(" >> 对不起,那一年那还没出生呢!按任意键继续...");
  26. else
  27. puts(" >> 对不起,那一年他还没开始打鱼呢!按任意键继续...");
  28. getch();
  29. continue;
  30. }
  31. if(today.year==1990&&today.month==1&&today.day==1)
  32. break;
  33. term.month=12; /*设置变量的初始值:月*/
  34. term.day=31; /*设置变量的初始值:日*/
  35. for(yearday=0,year=1990;year<today.year;year++)
  36. {
  37. term.year=year;
  38. yearday+=days(term); /*计算从1990年至指定年的前一年共有多少天*/
  39. }
  40. yearday+=days(today); /*加上指定年中到指定日期的天数*/
  41. day=yearday%5; /*求余数*/
  42. if(day>0&&day<4) printf(" >> %d年%d月%d日,他正在打鱼。\n",today.year,today.month,today.day); /*打印结果*/
  43. else printf(" >> %d年%d月%d日,他正在晒网。\n",today.year,today.month,today.day);
  44. }
  45. puts("\n >> 请按任意键退出...");
  46. getch();
  47. }
  48. int days(struct date day)
  49. {
  50. static int day_tab[2][13]=
  51. {{0,31,28,31,30,31,30,31,31,30,31,30,31,}, /*平均每月的天数*/
  52. {0,31,29,31,30,31,30,31,31,30,31,30,31,},
  53. };
  54. int i,lp;
  55. lp=day.year%4==0&&day.year%100!=0||day.year%400==0;
  56. /*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
  57. for(i=1;i<day.month;i++) /*计算本年中自1月1日起的天数*/
  58. day.day+=day_tab[lp][i];
  59. return day.day;
  60. }

文章来源: blog.csdn.net,作者:程序员编程指南,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_41055260/article/details/124518495

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。