首页 > 代码库 > *1014. 福尔摩斯的约会
*1014. 福尔摩斯的约会
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和HH21 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 //找到DAY25 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 //找到HH44 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 //计算HH52 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 }
这个题目折腾了一天,回想起来难度不是很大,还是得耐心下来,一个<=逻辑运算符一对花括号差点让我疯掉!
题目链接:
http://pat.zju.edu.cn/contests/pat-b-practise/1014
.
*1014. 福尔摩斯的约会
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。