今天是第几天?

来源:百度文库 编辑:神马文学网 时间:2024/04/29 03:03:33
#include
struct
{ int year;
  int month;
  int day;
  }date1,date2;
  void main()
  {int days(int year,int month,int day);
   int year(int c, int d);
   int total,day_1,day_2,day;
   printf("input your birthday:");
   scanf("%d,%d,%d",&date1.year,&date1.month,&date1.day);
   printf("input the date of today:");
   scanf("%d,%d,%d",&date2.year,&date2.month,&date2.day);
   day=year(date1.year,date2.year);
   day_1=days(date1.year,date1.month,date1.day);
   day_2=days(date2.year,date2.month,date2.day);
   total=day-day_1+day_2;
   printf("totall days:%d",total);}
   int year(int c,int d)
   {int b=0;
   while(c    { if (c%4==0&&c%100!=0||c%4==0) b+=366;
      else
       b+=365;
      c++;}
    return(b);}
     
   int days(int year,int month,int day)
   {int i,a=0;   
    int day_tab[13]={0,31,28,31,30,31,30,31,30,31,30,31};
     for(i=1;i      a+=day_tab[i];
      a+=day;
      if((year%4==0&&year%100!=0||year%4==0)&&month>=3)
      a+=1;
      return(a);}
算法:一:输入出生年月日和当前日期
二:算出从出生年至2009年的总天数
三:算出出生日期为该年中的第几天,并从总天数中扣除
四:算出当前日期是该年中的第几天,并加上
五:输出结果