C/C++練習題 定義一個日期變數,進行年、月、日的輸入,計算該日期是本年中的第幾天。
阿新 • • 發佈:2019-01-07
問題及程式碼:
/* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月28日 *版 本 號:v1.0 * *問題描述:.定義一個日期變數,進行年、月、日的輸入,計算該日期是本年中的第幾天。 *程式輸出: */ #include <iostream> using namespace std; struct y_m_d { int year; int month; int day; }; int is_runnian(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(is_runnian(iyear)) return 29; else return 28; } return 0; } int days(y_m_d date) { int i,s=0; for(i=1;i<=date.month;i++) s=s+sday(i,date.year); return s; } 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; }
執行結果: