该日在本年第几天
2016-06-21 21:03
447 查看
/* *Copyright (c) 2016 烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:test.cpp *作 者:史红浩 *完成日期:2016年 6 月 21 日 *问题描述:定义一个结构体变量(包括年、月、日)。编写一个函数days,由主函数将年、月、日传递给函数days,计算出该日在本年中是第几天并将结果传回主函数输出。 *输入描述:年月日 *输出描述:当年第几天 *版 本 号:v1.0 */ #include <iostream> using namespace std; struct y_m_d { int year; int month; int day; }; int days(y_m_d d) { if(d.year%4==0&&d.year%100!=0||d.year%400==0) { if(d.month==1) return d.day; else if(d.month==2) return d.day+31; else if(d.month==3) return d.day+31+29; else if(d.month==4) return d.day+31+29+31; else if(d.month==5) return d.day+31+31+29+30; else if(d.month==6) return d.day+31+31+31+29+30; else if(d.month==7) return d.day+30+31+31+30+29+30; else if(d.month==8) return d.day+31+31+31+30+29+30+31; else if(d.month==9) return d.day+31+31+31+30+29+30+31+31; else if(d.month==10) return d.day+31+31+31+30+29+30+30+31+31; else if(d.month==11) return d.day+31+31+31+30+29+30+31+31+31+30; else if(d.month==12) return d.day+31+31+31+30+29+30+31+31+31+30+30; } else { if(d.month==1) return d.day; else if(d.month==2) return d.day+31; else if(d.month==3) return d.day+31+28; else if(d.month==4) return d.day+31+28+31; else if(d.month==5) return d.day+31+31+28+30; else if(d.month==6) return d.day+31+31+31+28+30; else if(d.month==7) return d.day+30+31+31+30+28+30; else if(d.month==8) return d.day+31+31+31+30+28+30+31; else if(d.month==9) return d.day+31+31+31+30+28+30+31+31; else if(d.month==10) return d.day+31+31+31+30+28+30+30+31+31; else if(d.month==11) return d.day+31+31+31+30+28+30+31+31+31+30; else if(d.month==12) return d.day+31+31+31+30+28+30+31+31+31+30+30; } } 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; }
运行结果:
相关文章推荐