黑马程序员技术交流社区

标题: (两种方法)输入某年某月某日,判断这一天是这一年的第几天? [打印本页]

作者: qhw_fight    时间: 2016-4-1 22:26
标题: (两种方法)输入某年某月某日,判断这一天是这一年的第几天?
方法一:
  1. int DayNum(int year,int mounth, int day)    //定义一个整型函数,并带有三个整型形参
  2. {
  3.     int result=0;
  4.     int mounth_day[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//用数组给每个月天数赋值
  5.     if(year%400 == 0 || (year%100 !=0 && year%4 == 0))         //判断是否是闰年
  6.     {                                                        //是闰年计算如下
  7.         if (mounth > 2) {
  8.             for (int i = 1;i < mounth ; i++) {
  9.                 result +=mounth_day[i];
  10.             }
  11.             //闰年要多家一天
  12.             result+=1+day;
  13.         }
  14.         else
  15.         {
  16.             for (int i = 1;i < mounth ; i++) {
  17.                 result +=mounth_day[i]+day;
  18.             }
  19.         }
  20.         
  21.     }
  22.     else                                                    //不是闰年
  23.     {
  24.         for (int i = 1;i < mounth ; i++) {
  25.             result +=mounth_day[i];                     //正常计算天数,把前几个月加起来+天数
  26.         }
  27.         result +=+day;
  28.     }
  29.     return result;                                          //返回总天数
  30. }
复制代码

方法二:
  1. int DayNum1(int year,int mounth, int day)
  2. {
  3.     int sum=0;
  4.     //用数组存储天数
  5.     int summonth[13]={0,31,59,90,120,151,181,212,243,273,304,334};
  6.     if(year%400 == 0 || (year%100 !=0 && year%4 == 0))
  7.     {
  8.         if (mounth > 2) {
  9.             sum=summonth[mounth-1]+day+1;
  10.         }
  11.         else sum=summonth[mounth-1]+day;
  12.     }
  13.     else sum=summonth[mounth-1]+day;
  14.     return sum;
  15. }
复制代码

作者: 缘之有缘    时间: 2016-4-2 10:23
学习了                                    




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2