1014. 福尔摩斯的约会
生活随笔
收集整理的這篇文章主要介紹了
1014. 福尔摩斯的约会
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?題目截圖:
?
思路:
字符串處理。
?
代碼:
1 /* 2 1014. 福爾摩斯的約會 3 */ 4 5 #include <stdio.h> 6 #include <string.h> 7 #include <math.h> 8 #include <stdlib.h> 9 #include <time.h> 10 11 #define maxn 61 12 char s1[maxn], s2[maxn]; // 存儲兩個字符串 13 // 星期縮寫 14 char day[][8] = {"", "MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"}; 15 16 int main() { 17 scanf("%s %s", s1, s2); 18 int len1=strlen(s1), len2=strlen(s2); 19 int minL = (len1<len2) ? len1 : len2; 20 int d=0, h=0, m=0; // d表示星期,h表示小時,m表示分 21 int i; 22 for(i=0; i<minL; ++i) { 23 if(s1[i]==s2[i] && s1[i]>='A' && s1[i]<='G') { 24 d = s1[i]-'A'+1; // 第一對相同的大寫字母 25 break; 26 } 27 } 28 i++; // 注意要后移一位 29 for(; i<minL; ++i) { // 查找第二對相同的字符 30 if(s1[i]==s2[i]) { 31 if(s1[i]>='0' && s1[i]<='9') { // 數字表示0-9 32 h = s1[i]-'0'; 33 break; 34 } else if(s1[i]>='A' && s1[i]<='N') { // 大寫字母表示10-23 35 h = s1[i]-'A'+10; 36 break; 37 } 38 } 39 } 40 scanf("%s %s", s1, s2); 41 len1=strlen(s1); len2=strlen(s2); 42 minL = (len1<len2) ? len1 : len2; 43 for(i=0; i<minL; ++i) { // 查找第一對相同的字母 44 if(s1[i]==s2[i] && ((s1[i]>='a' && s1[i]<='z') || (s1[i]>='A' && s1[i]<='Z'))) { 45 m = i; 46 break; 47 } 48 } 49 printf("%s %02d:%02d", day[d], h, m); // 輸出,小時和分要輸出兩位 50 51 return 0; 52 }?
轉載于:https://www.cnblogs.com/coderJiebao/p/PAT1014.html
總結
以上是生活随笔為你收集整理的1014. 福尔摩斯的约会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Struts的基础案例的步骤
- 下一篇: PCL—点云分割(基于凹凸性) 低层次点