c++题:时间转化24小时制和12小时制互换,求解决

例如:24小时制转化12小时制的话输入13:50转换为1:50pm

例如:12小时制转化24小时制的话输入1:50pm转换为13:50

#include <stdio.h>
#include <string.h>

int main(void)
{
    char str[32], *pstr;
    int hour, min;

    scanf("%s", str);

    if ((pstr = strstr(str, "am")) || (pstr = strstr(str, "pm"))) {
        printf("Your input 12 hour system!\n");
        *pstr = 0;
        sscanf(str, "%d:%d", &hour, &min);
        printf("%d:%d\n", hour+12, min);
    } else {
        printf("Your input 24 hour system!\n");
        sscanf(str, "%d:%d", &hour, &min);
        if (hour < 12)
            printf("%d:%dam\n", hour, min);
        else
            printf("%d:%dpm\n", hour-12, min);
    }

    return 0;
}