Time Conversion from Hackerrank.com
[restrict …]
#include<stdio.h> #include <stdlib.h> #include <string.h> char* timeConversion(char* s); int main() { printf("%s\n",timeConversion("12:00:32PM")); printf("%s\n",timeConversion("07:20:32PM")); printf("%s\n",timeConversion("09:11:32AM")); printf("%s\n",timeConversion("02:37:32AM")); printf("%s\n",timeConversion("02:37:32PM")); return 0; } char* timeConversion(char* s) { char *s1 = (char*)malloc(strlen(s)+1); strncpy(s1,s,8); s1[8] = '\0'; char *p = NULL; if (p = strstr(s, "AM")) { if (s1[0] == '1' && s1[1] == '2') { s1[0] = s1[1] = '0'; } } else if (p = strstr(s, "PM")) { if (s1[0] == '1' && s1[1] == '2') { //do nothing } else if (s1[0] == '0') { if (s1[1] == '8') { s1[0] = '2'; s1[1] = '0'; } else if (s1[1] == '9') { s1[0] = '2'; s1[1] = '1'; } else { s1[0] = '1'; s1[1] += 2; } } else if (s1[0] == '1') { s1[0] = '2'; s1[1] += 2; } } return s1; }
[/restrict]