PTA(Advanced Level) 1100:Mars Numbers(C语言实现)
分析:乙级题目1044:火星数字
添加链接描述
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main()
{
int n;
char s1[13][5]={"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"},
s2[13][4]={"","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};
char s3[10]="";
scanf("%d",&n);
getchar();
while(n--)
{
gets(s3);
if(isdigit(s3[0]))
{
int num,s=0,g=0;
sscanf(s3,"%d",&num);
s=num/13;//十位
g=num%13;//个位
if(s && g)
printf("%s %s\n",s2[s],s1[g]);
else if(s && !g)
printf("%s\n",s2[s]);
else//只有个位且个位为0也要输出
printf("%s\n",s1[g]);
}
else
{
int sum=0,i,j,len=strlen(s3);
for(i=0; i<len; i+=4)
for(j=0; j<13; j++)
if(strncmp(s2[j],s3+i,3) == 0)
sum+=13*j;
else if(strncmp(s1[j],s3+i,3) == 0)
sum+=j;
printf("%d\n",sum);
}
}
return 0;
}
版权声明:本文为LIve1AnD1LeARN原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。