给出年月日 计算该日是该年的第几天

给出年月日 计算该日是该年的第几天

C语言

#include <stdio.h>
int main()
{
int sum_day(int month,int day);
 int leap(int year);
 int year,month,day,days;
 printf("input date(year,month,day):");
 scanf("%d,%d,%d",&year,&month,&day);
 printf("%d/%d/%d ",year,month,day);
 days=sum_day(month,day);                  /* 调用函数sum_day */
 if(leap(year)&&month>=3)                  /* 调用函数leap */
   days=days+1;
 printf("is the %dth day in this year.\n",days);
 return 0;
}
int sum_day(int month,int day)         /* 函数sum_day:计算日期 */
  {
  int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
   int i;                  
   for (i=1;i<month;i++)
      day+=day_tab[i];      /* 累加所在月之前天数 */
   return(day);
  }                         /* 函数leap:判断是否为闰年 */
int leap(int year)
 {
 int leap;
  leap=year%4==0&&year%100!=0||year%400==0;
  return(leap);
 }

C++ :

#include <iostream>
using namespace std;
int main()
  {
  int sum_day(int,int);
   int leap(int year);
   int year,month,day,days=0;
   cout<<"input date(year,month,day):";
   cin>>year>>month>>day;
   cout<<year<<"/"<<month<<"/"<<day;
   days=sum_day(month,day);                                   /* 调用函数一 */
   if(leap(year) && month>=3)                                 /* 调用函数二 */
     days=days+1;
   cout<<" is the "<<days<<"th day in this year."<<endl;
   return 0;
   }

int sum_day(int month,int day)          //计算日期 
  {
  int i; 
   int day_tab[12]={31,28,31,30,31,30,31,31,30,31,30,31};  
   for (i=0;i<month-1;i++)
      day+=day_tab[i];
   return(day);
  }                    
     
int leap(int year)                     //判断是否为闰年 
 {
 int leap;
  leap=year%4==0&&year%100!=0||year%400==0;
  return(leap);
 } 

样例输入

2017,8,4

样例输出

216


版权声明:本文为Xing___wei原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。