2005的第几天

来源:互联网 发布:java jsonarray 追加 编辑:程序博客网 时间:2024/06/09 22:56

其实,经过今天差不多一天的训练,对待程序真的有了最基本的认识和一点点的感悟,

真的像班里的大神说的一样,拿到具体的程序题目时应该仔细的初步的考虑,想想应该用什么知识点。即使用的知识点不对,也可以帮助自己真正的掌握一点东西。

做这个第几天的小程序时,我也确实考虑到了闰年,如果像平时一样马马虎虎的写的话,应该会差不多写完的时候才会注意到有这样的一个条件,也为自己节约了时间。

这道题做的时候,也得想想是怎么样计算天数的,像我就用的最简单的方法。按照对应的月份来看在day的基础上应该加多少天,这样也做出来了,知识代码稍显复杂、

其实我的代码也可以在switch的基础上,用更简单的算数进行计算。

而且,更为重要的是,自己写学会了比如char c 然后cin>>x>>c>>y>>c>>g;时,此时就可以输入年月日里面的/。这是这个程序编写的时的而一个收获。

#include<iostream>
using namespace std;
int main(){
   int year,month,day;
   char c;
   while(cin>>year>>c>>month>>c>>day){
       if((year%4==0&&year%100!=0)||year%400==0)
      {
          switch(month){
       case 1: cout<<day<<endl;break;
       case 2: cout<<day+31<<endl;break;
       case 3: cout<<day+31+29<<endl;break;
       case 4: cout<<day+31+29+31<<endl;break;
       case 5: cout<<day+31+29+31+30<<endl;break;
       case 6: cout<<day+31+29+31+30+31<<endl;break;
       case 7: cout<<day+31+29+31+30+31+30<<endl;break;
       case 8: cout<<day+31+29+31+30+31+30+31<<endl;break;
       case 9: cout<<day+31+29+31+30+31+30+31+30<<endl;break;
       case 10: cout<<day+31+29+31+30+31+30+31+30+31<<endl;break;
       case 11: cout<<day+31+29+31+30+31+30+31+30+31+30<<endl;break;
       case 12: cout<<day+31+29+31+30+31+30+31+30+31+30+31<<endl;break;
       }
      }
       else
       {
           switch(month){
           case 1: cout<<day<<endl;break;
       case 2: cout<<day+31<<endl;break;
       case 3: cout<<day+31+28<<endl;break;
       case 4: cout<<day+31+28+31<<endl;break;
       case 5: cout<<day+31+28+31+30<<endl;break;
       case 6: cout<<day+31+28+31+30+31<<endl;break;
       case 7: cout<<day+31+28+31+30+31+30<<endl;break;
       case 8: cout<<day+31+28+31+30+31+30+31<<endl;break;
       case 9: cout<<day+31+28+31+30+31+30+31+30<<endl;break;
       case 10: cout<<day+31+28+31+30+31+30+31+30+31<<endl;break;
       case 11: cout<<day+31+28+31+30+31+30+31+30+31+30<<endl;break;
       case 12: cout<<day+31+28+31+30+31+30+31+30+31+30+31<<endl;break;
       }
       }
   }


return 0;
}将31*2或者30*3这样的方式写上去,代码应该看上去要简单的多。

0 0
原创粉丝点击