题目描述
定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出。
输入
年月日
输出
当年第几天
样例输入
2000 12 31
样例输出
366
提示
主函数已给定如下,提交时不需要包含下述主函数
/* C代码 */
int main()
{
y_m_d date;
int days(y_m_d);
int day_sum;
scanf("%d%d%d",&date.year,&date.month,&date.day);
day_sum=days(date);
printf("%d\n",day_sum);
return 0;
}
/* C++代码 */
int main()
{
y_m_d date;
int days(y_m_d);
int day_sum;
cin>>date.year>>date.month>>date.day;
day_sum=days(date);
cout<<day_sum<<endl;
return 0;
}
全代码如下:
#include <iostream>
using namespace std;
struct y_m_d
{
int year;
int month;
int day;
};
int days(y_m_d d)
{
int Days=d.day;
for (int i=1; i<d.month; i++)
{
if(i==1||i==3||i==5||i==7||i==8||i==10||i==12)
Days+=31;
else if (i==4||i==6||i==9||i==11)
Days+=30;
else if (((d.year)%4==0 && (d.year) % 100 != 0)||(d.year)% 400 == 0)
Days+=29;
else
Days+=28;
}
return Days;
}
int main()
{
y_m_d date;
int days(y_m_d);
int day_sum;
cin>>date.year>>date.month>>date.day;
day_sum=days(date);
cout<<day_sum<<endl;
return 0;
}
运行结果:
两周没有刷oj了,突然发现连日期怎么计算都纠结了好久,还是去看以前的博客才搞定,,,唉,必须找找状态了