三天打鱼两天晒网晒网之极品男的精彩生活

||||||||||
热门搜索推荐:
5068儿童网提供最新最全的儿童歌曲、儿童作文、儿童故事、手抄报、黑板报、好词好句等内容,让小朋友在学习的同时享受快乐!打造属于小朋友的快乐天堂!请记得收藏分享我们哦~
返回首页 当前位置:
打渔晒网经典语录-三天打鱼两天晒网
来源: 网络&&&&发表时间: 11:34:00&&&& 
  1.程序描述:这是个经典的程序,某人从日起开始&三天打鱼两天晒网&,问这个人在以后的某一天中是&打鱼&还是&晒网&。
  *问题分析与算法设计
  根据题意可以将解题过程分为三步:
  1)计算从日开始至指定日期共有多少天;
  2)由于&打鱼&和&晒网&的周期为5天,所以将计算出的天数用5去除;
  3)根据余数判断他是在&打鱼&还是在&晒网&;
  若 余数为1,2,3,则他是在&打鱼&
  否则 是在&晒网&
  在这三步中,关键是第一步。求从日至指定日期有多少天,要判断经历年份中是否有闰年,二月为29天,平年为28天。闰年的方法可以用伪语句描述如下:
  如果 ((年能被4除尽 且 不能被100除尽)或 能被400除尽)
  则 该年是闰年;
  否则 不是闰年。
  C语言中判断能否整除可以使用求余运算(即求模)
  2.程序如下:
  #include
  struct date{
  int days(struct date day);
  void main()
  struct date today,
  int yearday,year,
  printf(&Enter year/month/day:&);
  scanf(&%d%d%d&,&today.year,&today.month,&today.day);
/*输入日期*/
  term.month=12; /*设置变量的初始值:月*/
  term.day=31; /*设置变量的初始值:日*/
  for(yearday=0,year=1990;year
  term.year=
  yearday+=days(term); /*计算从1990年至指定年的前一年共有多少天*/
  yearday+=days(today); /*加上指定年中到指定日期的天数*/
  day=yearday%5; /*求余数*/
  if(day&0&&day&4) printf(&he was fishing at that day.\n&);
/*打印结果*/
  else printf(&He was sleeping at that day.\n&);
  int days(struct date day)
  static int day_tab[2][13]=
  {{0,31,28,31,30,31,30,31,31,30,31,30,31,}, /*平均每月的天数*/
  {0,31,29,31,30,31,30,31,31,30,31,30,31,},
  int i,
  lp=day.year%4==0&&day.year%100!=0||day.year%400==0;
  /*判定year为闰年还是平年,lp=0为平年,非0为闰年*/
  for(i=1;i
  day.day+=day_tab[lp][i];
  return day.
返回首页看了打渔晒网经典语录-三天打鱼两天晒网的同学还看了
全站热点推荐
全站热门点击
经典儿歌推荐
手抄报精选

参考资料

 

随机推荐