zoukankan      html  css  js  c++  java
  • CODE[VS] 2692 小明过生日

    题目描述 Description

    今天是小明的生日,请问下一个生日在什么时候.格式:年 月 日。

    输入描述 Input Description

    小明的生日

    输出描述 Output Description

    下一个小明的生日

    样例输入 Sample Input

    2013 2 13

    样例输出 Sample Output

    2014 2 13

    数据范围及提示 Data Size & Hint

    int范围,灰常阴险滴~~

    我感觉不是int范围阴险。

    是题目阴险。

    像这种一看就会,看起来非常简单的题目最坑。

    这个题就是要注意考虑到闰年的问题。

    下面是一份zz的代码。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 int a,b,c;
     9 
    10 int main()
    11 {
    12     scanf("%d%d%d",&a,&b,&c);
    13     if(b!=2||(b==2&&c!=28&&c!=29))
    14     {
    15         printf("%d %d %d",a+1,b,c);
    16         return 0;
    17     }
    18     else if(c==29)
    19     {
    20         printf("%d 2 28",a+1);
    21         return 0;
    22     }
    23     else 
    24     {
    25         if(((a+1)%4==0&&(a+1)%100!=0)||(a+1)%400==0)
    26         {
    27             printf("%d 2 29",a+1);
    28         }
    29         else printf("%d 2 28",a+1);
    30         return 0;
    31     }
    32     return 0;
    33 }
    考虑是考虑到了,但是考虑得有些问题啊。。

    33分zz,,无语。

    下面看ac代码,

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cmath>
     4 #include<algorithm>
     5 #include<cstring>
     6 using namespace std;
     7 
     8 int a,b,c;
     9 
    10 int main()
    11 {
    12     scanf("%d%d%d",&a,&b,&c);
    13     if(b!=2||(b==2&&c!=28&&c!=29))
    14     {
    15         printf("%d %d %d",a+1,b,c);
    16         return 0;
    17     }
    18     else if(c==29)
    19     {
    20         if((a+4)%100==0) printf("%d 2 29",a+8); //就这儿,
    21         else printf("%d 2 29",a+4);
    22         return 0;
    23     }
    24     else 
    25     {
    26         if(((a+1)%4==0&&(a+1)%100!=0)||(a+1)%400==0)
    27         {
    28             printf("%d 2 29",a+1);
    29         }
    30         else printf("%d 2 28",a+1);
    31         return 0;
    32     }
    33     return 0;
    34 }
    就变了一点点,应该能理解
  • 相关阅读:
    用spring的InitializingBean作初始化
    LinkedList源码分析
    CgLib动态代理
    DB2删除表分区
    spring aop搭建redis缓存
    List怎么遍历删除元素
    线程池ExecutorService和完成服务CompletionService的使用获取线程的返回结果
    synchronized与static synchronized 的区别
    将spring管理的bean使用注解的方式注入到servlet中
    eclipse右击打war包class没打上去的问题
  • 原文地址:https://www.cnblogs.com/Mary-Sue/p/9162112.html
Copyright © 2011-2022 走看看