码迷,mamicode.com
首页 > 其他好文 > 详细

*1014. 福尔摩斯的约会

时间:2014-09-01 21:03:33      阅读:389      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   ar   for   2014   

 1 /*
 2  * Main.c
 3  * 1014. 福尔摩斯的约会
 4  *  Created on: 2014年9月1日
 5  *      Author: Boomkeeper
 6  *****部分通过*********
 7  */
 8 
 9 #include <stdio.h>
10 #include <string.h>
11 
12 /*
13  * 找到“DAY HH:MM”中的“DAY”和“HH”
14  */
15 void find_day_hour(const char str1[],const char str2[]){
16 
17     int len1 = strlen(str1);
18     int len2 = strlen(str2);
19     int i;
20     char tempDay,tempHour;//存放DAY和HH
21     char hour[24] = {0,1,2,3,4,5,6,7,8,9,
22             A,B,C,D,E,F,G,H,I,J,K,L,M,N};
23 
24     //找到DAY
25     for (i = 0; i < (len1 < len2 ? len1 : len2); i++) {
26         if((str1[i] == str2[i]) && (str1[i]<=G && str1[i]>=A)){
27                 tempDay = str2[i];
28                 break;
29                 }
30     }
31 
32     //计算DAY并打印星期
33     switch(tempDay){
34         case A : printf("MON "); break;
35         case B : printf("TUE "); break;
36         case C : printf("WED "); break;
37         case D : printf("THU "); break;
38         case E : printf("FRI "); break;
39         case F : printf("SAT "); break;
40         case G : printf("SUN "); break;
41     }
42 
43     //找到HH
44     for (i+=1; i < (len1 < len2 ? len1 : len2); i++) {
45         if((str1[i] == str2[i]) && ((str1[i]>=0 && str1[i]<=9) || (str1[i] >= A && str1[i] <= N))){
46             tempHour = str2[i];
47             break;
48         }
49     }
50 
51     //计算HH
52     for(i=0;i<24;i++){
53         if(hour[i] == tempHour){
54             //打印小时
55             printf("%02i:",i);
56             break;
57         }
58     }
59 }
60 
61 /*
62  * 找到“DAY HH:MM”中的“MM”
63  */
64 void find_min(const char str3[],const char str4[]){
65 
66     int len3 = strlen(str3);
67     int len4 = strlen(str4);
68     int i;
69 
70     for(i = 0 ; i < (len3 < len4 ? len3 : len4);i++){
71         if((str3[i]<=z && str3[i]>=a) && (str4[i]<=z && str4[i]>=a))
72             if(str3[i] == str4[i])
73                 break;
74     }
75 
76     //打印分钟
77     printf("%02i\n",i);
78 }
79 
80 int main(void){
81 
82     char str1[60],str2[60],str3[60],str4[60];
83 
84     gets(str1);
85     gets(str2);
86     gets(str3);
87     gets(str4);
88 
89     find_day_hour(str1,str2);
90     find_min(str3,str4);
91 
92     return 0;
93 }

bubuko.com,布布扣

 

这个题目折腾了一天,回想起来难度不是很大,还是得耐心下来,一个<=逻辑运算符一对花括号差点让我疯掉!

 

题目链接:

http://pat.zju.edu.cn/contests/pat-b-practise/1014

 

 

.

*1014. 福尔摩斯的约会

标签:style   blog   http   color   os   io   ar   for   2014   

原文地址:http://www.cnblogs.com/boomkeeper/p/1014b.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!