给定年、月、日,计算是该年的第几天。

#include <iostream>
using namespace std;
struct time
{
    int year;
    int month;
    int day;
};
int y(int iyear)
{
    if((iyear%4==0&&iyear%100!=0)||(iyear%400==0))
        return 1;
    else
        return 0;
}
int sday(int num,int iyear)
{
    switch(num)
    {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        return 31;
    case 4:
    case 6:
    case 9:
    case 11:
        return 30;
    case 2:
        if(y(iyear))
            return 29;
        else
            return 28;
    }
    return 0;
}
int days(time date)
{
    int i,s=0;
    for(i=1;i<=date.month;i++)
        s=s+sday(i,date.year);
        return s;
}
int main()
{
  time date;
  int days(time);
  int day_sum;
  cin>>date.year>>date.month>>date.day;
  day_sum=days(date);
  cout<<day_sum<<endl;
  return 0;
}
发布了139 篇原创文章 · 获赞 127 · 访问量 9485

猜你喜欢

转载自blog.csdn.net/huangziguang/article/details/105113145