YTUOJ-計算該日在本年中是第幾天(用戶自己定義類型)
阿新 • • 發佈:2017-06-17
sin 例子 pan neu sso 定義類 () str 包括
主函數已給定例如以下。提交時不須要包括下述主函數
/* 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;
}
題目描寫敘述
定義一個結構體變量(包含年、月、日)。編寫一個函數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了,突然發現連日期怎麽計算都糾結了好久。還是去看曾經的博客才搞定。。。唉。必須找找狀態了
YTUOJ-計算該日在本年中是第幾天(用戶自己定義類型)