大家好啊,这里是Cyber Striver的博客。今天我继续为大家带来PAT乙级的题解。
目录
题目
题解
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
char a[4][61];
int len[4],min1=0,min2=0,day1=0,day2=0,time=0;
char date[7][4] = { "MON","TUE","WED","THU","FRI","SAT","SUN" };
int i = 0;
for (i = 0; i < 4; i++)
scanf("%s", a + i);
for (i = 0; i < 4; i++)
len[i] = strlen(a[i]);
if (len[0] > len[1])
min1 = len[1];
else
min1 = len[0];
if (len[2] > len[3])
min2 = len[3];
else
min2 = len[2];
for (i = 0; i < min1; i++)
{
if (a[0][i] == a[1][i] && a[0][i]>='A'&&a[0][i]<='G')
{
day1 = a[0][i] - 64;
printf("%s ", date[day1 - 1]);
break;
}
}
for (i++; i < min1; i++)
{
if (a[0][i] == a[1][i]&&a[0][i]<='9'&&a[0][i]>='0')
{
day2 = a[0][i] - 48;
printf("0%d:", day2);
break;
}
if (a[0][i] == a[1][i] &&a[0][i]>='A'&&a[0][i]<='N')
{
day2 = a[0][i] - 55;
printf("%d:", day2);
break;
}
}
for (i = 0; i < min2; i++)
if (a[2][i] == a[3][i] && !(isdigit(a[2][i])))
{
time = i;
break;
}
if (time < 10)
printf("0%d", time);
else
printf("%d", time);
return 0;
}
思路
【先码住,思路总结后面写】
经验总结
本次博客到这里就结束了,如果你觉得我的文章还不错的话,请给我多多点赞评论哦!