//列表出来0-168全部都是成立的,不明白测试点4是什么,一直显示错误
#include<stdio.h>
#include<string.h>
int huoxing(char one[],char two[]){
char a[13][10] = {"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"};
char b[13][10] = {"zero","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};
int result = 0;
for(int i = 0;i < 13;i++){
if(!strcmp(b[i],one)){
result = i*13;
}
}
for(int i =0;i < 13;i++){
if(!strcmp(a[i],two)){
result += i;
}
}
return result;
}
int main(){
char a[13][10] = {"tret","jan","feb","mar","apr","may","jun","jly","aug","sep","oct","nov","dec"};
char b[13][10] = {"tdai","tam","hel","maa","huh","tou","kes","hei","elo","syy","lok","mer","jou"};
int N;
scanf("%d",&N);
char str1[100];
char one[10],two[10];
int p = 0,flag = 0;
getchar();
for(int i = 0;i < N;i++){
gets(str1);
char *str = str1;
if(str[0] > '9'|| str[0] < '0'){
p = 0;
while(*str != ' '&&*str){
one[p++] = *str;
str++;
}one[p] = '\0';
p = 0;
if(*str == ' '){
str++;
flag = 1;
}else{
strcpy(two,one);
}
while(*str){
two[p++] = *str;
str++;
}
if(flag){
two[p] = '\0';
}
int result = huoxing(one,two);
printf("%d\n",result);
}else{
int sum = 0;
int part1,part2;
while(*str){
sum *= 10;
sum += *str - '0';
str++;
}
part1 = sum / 13;
part2 = sum % 13;
if(part1){
printf("%s",b[part1]);
}
if(part2||!part1){
if(part1)
printf(" ");
printf("%s",a[part2]);
}
printf("\n");
}
}
return 0;
}
测试点4总是过不去,列excle表0-168的火星和地球都正常的,求解测试点4究竟是什么。