| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
附上效率优化过的, 应该没有比这效率高的了吧#include <stdio.h>
int main() {
int t;
unsigned int s[6], r[6];
short h;
char ch;
((char *)r)[2] = '/';
((char *)r)[5] = '/';
((char *)r)[10] = '-';
((char *)r)[13] = ':';
((char *)r)[20] = 'm';
((char *)r)[21] = '\0';//其实20和21可以合并为一个short, 减少一次赋值
scanf("%d",&t);
for (--t; t>=0; --t) {
scanf("%s", ((char *)s));
h = (((char *)s)[11] - '0')*10 + (((char *)s)[12] - '0');
if (h >= 12) {ch = 'p';h-=12;}
else ch = 'a';
if (h == 0) h = 12;
((char *)r)[0] = ((char *)s)[5];
((char *)r)[1] = ((char *)s)[6];
((char *)r)[3] = ((char *)s)[8];
((char *)r)[4] = ((char *)s)[9];
((unsigned short *)r)[3] = *((unsigned short *)s);
((unsigned short *)r)[4] = ((unsigned short *)s)[1];
((char *)r)[11] = (h/10)+'0';
((char *)r)[12] = (h%10)+'0';
((unsigned short *)r)[7] = ((unsigned short *)s)[7];
((unsigned short *)r)[8] = ((unsigned short *)s)[8];
((char *)r)[18] = ((char *)s)[18];
((char *)r)[19] = ch;
puts((char *)r);
}
return 0;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator