PAT 1014 福尔摩斯的约会

来源:互联网 发布:非线性最优化方法 编辑:程序博客网 时间:2024/05/16 15:09

char week_table[7][3]= {“MON”, “TUE”, “WED”, “THU”, “FRI”, “SAT”, “SUN”};就行了 定义成二维数组存储时可以简单看作一排一个字符串数组; const char *week_table[7]= {“MON”, “TUE”, “WED”, “THU”, “FRI”, “SAT”, “SUN”};这样是定义了一个指针数组 指针元素分别指向每一个对应的字符串存储的首地址

#include<stdio.h>#include <string.h>int main(void){  const char  *week_table[7]= {"MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"};    char str1[61], str2[61], str3[61], str4[61];    int i;    int week, hour, second;    int len1, len2, len3, len4;    scanf("%s%s%s%s", str1, str2, str3, str4);    len1 = strlen(str1);    len2 = strlen(str2);    len3 = strlen(str3);    len4 = strlen(str4);    week = hour = second = 0;    for(i = 0; i < len1 && i < len2; i++)    {        if(str1[i] == str2[i] && (str1[i] >= 'A' && str1[i] <= 'G'))        {            week = str1[i] - 'A';             break;        }    }    for(i++; i < len1 && i < len2; i++)    {        if(str1[i] == str2[i] && ((str1[i] >= 'A' && str1[i] <= 'N') || (str1[i] >= '0' && str1[i] <= '9')))        {            if(str1[i] >= 'A' && str1[i] <= 'N')                hour = str1[i] - 'A' + 10;            else                hour = str1[i] - '0';            break;        }    }    for(i = 0; i < len3 && i < len4; i++)    {        if((str3[i] == str4[i]) && ((str3[i] >= 'a' && str3[i] <= 'z') || (str3[i] >= 'A' && str3[i] <= 'Z')))        {            second = i;            break;        }    }    printf("%s %02d:%02d", week_table[week], hour, second);//2是宽度,如果整数不够2列就补上0    return 0;}
0 0
原创粉丝点击