编写一个程序,程序能计算并输出某日期在该日期所在年中是第几天

102 阅读1分钟
  1.  #include<iostream>
     using namespace std;
     int mon[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };
     struct MYDAY
     {
     	int year, month, day;
     };
     int sumdays(const MYDAY& myday)
     {
         if (myday.year % 4 == 0 && myday.year % 100 != 0 || myday.year % 400 == 0)
         {
             mon[2] = 29;
         }
         else
         {
             mon[2] = 28;
         }
         int sum = 0;
         for (int i = 1; i < myday.month; i++)
         {
             sum += mon[i];
         }
         sum += myday.day;
         return sum;
     }
     int main()
     {
     	struct MYDAY myday, mybirthday, today;
        
     	cin >> myday.year >> myday.month >> myday.day;
         cout<<sumdays(myday);
         cout << "请输入你的生日";
         cin >> mybirthday.year >> mybirthday.month >> mybirthday.day;
         int a = sumdays(mybirthday);
         cout << "请输入今天的日期";
         cin >> today.year >> today.month >> today.day;
         int b = sumdays(today);
         cout << "从你出生到现在的天数为" << b - a;
     }