• 回文时间sdut2174


    http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2174&cid=1174

    第一种方法,用if else进行麻烦的判断。。。

     1 #include<stdio.h>
     2 #include<string.h>
     3 int main()
     4 {
     5     char ch[7] ;
     6     while(~scanf("%s",ch))
     7     {
     8         int a = 10*(ch[0]-'0')+(ch[1] - '0') ;
     9         int b = 10*(ch[1]-'0')+(ch[0] - '0') ;
    10         int c = 10*(ch[3]-'0')+(ch[4] - '0') ;
    11         int d = 10*(ch[4]-'0')+(ch[3] - '0') ;
    12         if(a >= 6&&a <= 9)
    13             printf("10:01\n");
    14         else if(a >= 16&&a <= 19)
    15             printf("20:02\n") ;
    16         else
    17         {
    18             if(b > c)
    19             {
    20                 printf("%02d:%02d\n",a,b);
    21             }
    22             else
    23             {
    24                 if(a == 23)
    25                     printf("00:00\n") ;
    26                 else
    27                 {
    28                     int x = a+1;
    29                     if(x >= 6 &&x <= 9 )
    30                     {
    31                         printf("10:01\n");
    32                         continue;
    33                     }
    34                     else if(x >= 16&&x <= 19)
    35                     {
    36                         printf("20:02\n");
    37                         continue;
    38                     }
    39                     else
    40                     {
    41                         printf("%02d:%02d\n",x,(x%10)*10+(x/10));
    42                         continue;
    43                     }
    44                 }
    45             }
    46         }
    47     }
    48     return 0 ;
    49 }
    View Code

    第二种方法,定义结构体,把所有的情况进行枚举

     1 #include<stdio.h>
     2 #define max 1000
     3 char s[30];
     4 struct node
     5 {
     6     int h;
     7     int m;
     8 } p[30];
     9 int main()
    10 {
    11     p[1].h=1;
    12     p[1].m=10;
    13     p[2].h=2;
    14     p[2].m=20;
    15     p[3].h=3;
    16     p[3].m=30;
    17     p[4].h=4;
    18     p[4].m=40;
    19     p[5].h=5;
    20     p[5].m=50;
    21     p[6].h=10;
    22     p[6].m=1;
    23     p[7].h=11;
    24     p[7].m=11;
    25     p[8].h=12;
    26     p[8].m=21;
    27     p[9].h=13;
    28     p[9].m=31;
    29     p[10].h=14;
    30     p[10].m=41;
    31     p[11].h=15;
    32     p[11].m=51;
    33     p[12].h=20;
    34     p[12].m=2;
    35     p[13].h=21;
    36     p[13].m=12;
    37     p[14].h=22;
    38     p[14].m=22;
    39     p[15].h = 23 ;
    40     p[15].m = 32 ;
    41     while(scanf("%s",s)!=EOF)
    42     {
    43         int hh=(s[0]-'0')*10+(s[1]-'0');
    44         int mm=(s[3]-'0')*10+(s[4]-'0');
    45         if(hh==23&&mm>=32)
    46         {
    47             printf("00:00\n");
    48         }
    49         else
    50         {
    51             for(int i=1;i<=15;i++)
    52             {
    53                 if(p[i].h==hh&&p[i].m>mm)
    54                 {
    55                     printf("%02d:%02d\n",p[i].h,p[i].m);
    56                     break;
    57                 }
    58                 else if(p[i].h>hh)
    59                 {
    60                     printf("%02d:%02d\n",p[i].h,p[i].m);
    61                     break;
    62                 }
    63             }
    64         }
    65     }
    66     return 0;
    67 }
    View Code

    第三种方法,利用for循环进行循环判断,注意终止条件

     1 #include<stdio.h>
     2 int main(void)
     3 {
     4     int h, m;
     5     while(~scanf("%d:%d", &h, &m))
     6     {
     7         for(m++ ; ; m++)
     8         {
     9             if(m == 60)
    10             {
    11                 m = 0;
    12                 h++;
    13                 if(h==24) h = 0;
    14             }
    15             if(h%10==m/10 && m%10==h/10)
    16             {
    17                 printf("%02d:%02d\n", h, m);
    18                 break;
    19             }
    20         }
    21     }
    22     return 0;
    23 }
    View Code
  • 相关阅读:
    Linux内核邮件列表发送和回复格式研究
    FastCopy包含和排除文件夹处理
    Linux解压命令(tar)
    Linux下的删除命令
    分区还原工具(DiskGenius)
    树莓派利用PuTTY进行远程登录
    树莓派下载地址及一些常用工具
    树莓派开机黑屏问题解决
    Jenkins从2.x新建Job时多了一个文件夹的功能(注意事项)
    Jenkins的Publish Over FTP Plugin插件参数使用
  • 原文地址:https://www.cnblogs.com/luyingfeng/p/3112884.html
Copyright © 2020-2023  润新知