#include <stdio.h>
int main()
{
int ziti=0,n=0,useless,i=0,x=0,gw=0,dw=0; //ziti=1是数字,ziti=0是火星文
char a[10]={0};
char d[14][5]={"tret","jan","feb","mar","apr","may","jun","jly", "aug", "sep", "oct", "nov","dec"};
char g[13][4]={"tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok","mer","jou"};
scanf("%d\n",&n);
while(n--)
{
i=0;x=0;
while(i<8) {a[i]=0;i++;} //初始化a[10]
scanf("%[^\n]",a);
scanf("%c",&useless); //useless是帮助输入用
if(a[0]>96) ziti=0;
else ziti=1;
i=0;
if(ziti) //数字
{
while(a[i]) i++; //判断数字有几位,储存于i中
if(i==3)
x = (a[0]-'0')*100 + (a[1]-'0')*10 + (a[2]-'0');
else if(i==2)
x = (a[0]-'0')*10 + (a[1]-'0');
else if(i==1)
x = (a[0]-'0'); //x是转化后的数字
gw = x/13;
dw = x%13;
if(gw && dw) printf("%s %s\n",g[gw-1],d[dw]);
if(gw && !dw) printf("%s\n",g[gw-1]);
if(!gw && dw) printf("%s\n",d[dw]);
if(!gw && !dw) printf("%s\n",d[0]);
}
else //火星文
{
if(a[5]) i++; //4,5,6都行,如果存在,说明是两位数
if(i) //两位数
{
i=0;
while(i<12)
{
if( a[0]==g[i][0] && a[1]==g[i][1] && a[2]==g[i][2] )
{
x = (i+1)*13; break;
}
i++;
}
i=0;
while(i<13)
{
if( a[4]==d[i][0] && a[5]==d[i][1] && a[6]==d[i][2] )
{
x += i; break;
}
i++;
}
printf("%d\n",x);
}
else //一位数
{
while(i<13)
{
if( a[0]==d[i][0] && a[1]==d[i][1] && a[2]==d[i][2] )
{
x = i; break;
}
i++;
}
i=0;
while(i<12)
{
if( a[0]==g[i][0] && a[1]==g[i][1] && a[2]==g[i][2] )
{
x = (i+1)*13; break;
}
i++;
}
printf("%d\n",x);
}
}
}
//system("pause");
return 0;
}
1044 火星数字,C
猜你喜欢
转载自blog.csdn.net/weixin_43916400/article/details/104585390
今日推荐
周排行