该日是该年的第几天

来源:互联网 发布:淘宝修改中差评的链接 编辑:程序博客网 时间:2024/06/10 01:29
/* Copyright (c) 2012, 烟台大学计算机学院   * All rights reserved.   * 文件名称:tianshu.cpp   * 作    者:  胡颖  * 完成日期:2013年3月10日   * 版 本 号:v1.0   *   * 输入描述:输入年,月,日* 问题描述:略  * 程序输出:输出该日是该年的天数 * 问题分析:利用switch语句,注意二月份闰年和平年差一天* 算法设计:略   */     #include <iostream>using namespace std;struct Date{    int year;    int month;    int day;};int main(){   Date date;   cout<<"Input year,month,day:";   cin>>date.year>>date.month>>date.day;   int days;   switch(date.month)   {       case 1:days=date.day;break;       case 2:days=date.day+31;break;       case 3:days=date.day+59;break;       case 4:days=date.day+90;break;       case 5:days=date.day+120;break;       case 6:days=date.day+151;break;       case 7:days=date.day+181;break;       case 8:days=date.day+212;break;       case 9:days=date.day+243;break;       case 10:days=date.day+273;break;       case 11:days=date.day+304;break;       case 12:days=date.day+334;break;    }    if((date.year%4==0 && date.year%100!=0 || date.year%400==0) && date.month>=3)    days+=1;   cout<<date.month<<"月"<<date.day<<"日是"<<date.year<<"年的第"<<days<<"天"<<endl;   return 0;}

运行结果:

心得体会:看到这个任务的第一想法是用函数,结果没有思路,参考了一下老师的,最后自己打出来的,其实也挺简单,要注意的是闰年的情况。