PAT A 1100

#include <stdio.h>
#include <string.h>
int main()
{
int i,j,n,sum=0,flag=0,lenB=0,lenC=0,K1=0,K2=0;
char str[13][5]={"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"};
char String[12][4]={"tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};
char A[10],B[5],C[5];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{

sum=0;
//getchar();
gets(A);
if(A[0]<='9'&&A[0]>='0')//表示第一个是数字的话
{
for(j=0;A[j]!='\0';j++) //12 SUM=1*10 
sum=sum*10+(A[j]-'0');
//printf("sum=%d\n",sum);
if(sum/13!=0&&sum%13==0)
{
printf("%s\n",String[sum/13-1]);
}
else if(sum/13!=0&&sum%13!=0)
{
printf("%s ",String[sum/13-1]);
printf("%s\n",str[sum%13]);
}
else if(sum<13)
printf("%s\n",str[sum%13]);
//continue;
}
else if(A[0]<='z'&&A[0]>='a')//如果是字符的高压
{
flag=0;
if(strlen(A)<=4)
{
for(j=0;j<12;j++)//我们现在13进制里查找
{
if(strcmp(String[j],A)==0)
{
printf("%d\n",(j+1)*13);
flag=1;
break;//表示找到了
}
}
if(flag==0)
{
for(j=0;j<13;j++)//我们现在13进制里查找
{
if(strcmp (str[j],A)==0)
{
printf("%d\n",j);
}
}
}
}//if str==3//else if
else if(strlen(A)==7)//长度为7的话
{
lenB=0,lenC=0;
for(j=0;A[j]!='\0';j++)
{
if(j<3)
B[lenB++]=A[j];
else if(j>=4)
C[lenC++]=A[j];
}
B[lenB++]='\0';
C[lenC++]='\0';
for(j=0;j<12;j++)//我们现在13进制里查找
{
if(strcmp(String[j],B)==0)
{
K1=j+1;
break;
}
}
for(j=0;j<13;j++)//我们现在13进制里查找
{
if(strcmp (str[j],C)==0)
{
K2=j;
break;
}
}
printf("%d\n",K1*13+K2);
}
}
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/ZSS1753936255/article/details/72566270