1044 火星數字 20 PAT乙級真題

2021-08-13 02:41:16 字數 2749 閱讀 5625

火星人是以13進製計數的:

例如地球人的數字「29」翻譯成火星文就是「hel mar」;而火星文「elo nov」對應地球數字「115」。為了方便交流,請你編寫程式實現地球和火星數字之間的互譯。

輸入格式:

輸入第一行給出乙個正整數n(<100),隨後n行,每行給出乙個[0, 169)區間內的數字 —— 或者是地球文,或者是火星文。

輸出格式:

對應輸入的每一行,在一行中輸出翻譯後的另一種語言的數字。

輸入樣例:

4295

elo nov

tam

輸出樣例:
hel mar

may115

13

這道題的本質就是進製轉化問題,這道題沒什麼難點,但是我一開始總是過不了,最後找了好久發現是複製貼上的時候有乙個hei和hel太像了,複製的時候沒注意,直接跳過去了,所以大家做題目的時候一定要細心細心再細心。這個**有點長(大多數是複製貼上的):

#includevoid dizhuanhuoshi(int b);

void dizhuanhuoge(int b);

void huozhuandi(char a,int *b);

int main(void)

else

else

printf("%d\n",b);}}

else

while(a[i]!='\n');

dizhuanhuoshi(b/13);

if ((b/13!=0)&&(b%13!=0))

dizhuanhuoge(b%13);

if (b==0) printf("tret");

printf("\n");}}

return 0;

}void huozhuandi(char a,int *b)

else if ((a[0]=='h')&&(a[1]=='e')&&(a[2]=='l'))

else if ((a[0]=='m')&&(a[1]=='a')&&(a[2]=='a'))

else if ((a[0]=='h')&&(a[1]=='u')&&(a[2]=='h'))

else if ((a[0]=='t')&&(a[1]=='o')&&(a[2]=='u'))

else if ((a[0]=='k')&&(a[1]=='e')&&(a[2]=='s'))

else if ((a[0]=='h')&&(a[1]=='e')&&(a[2]=='i'))

else if ((a[0]=='e')&&(a[1]=='l')&&(a[2]=='o'))

else if ((a[0]=='s')&&(a[1]=='y')&&(a[2]=='y'))

else if ((a[0]=='l')&&(a[1]=='o')&&(a[2]=='k'))

else if ((a[0]=='m')&&(a[1]=='e')&&(a[2]=='r'))

else if ((a[0]=='j')&&(a[1]=='o')&&(a[2]=='u'))

else if ((a[0]=='j')&&(a[1]=='a')&&(a[2]=='n'))

else if ((a[0]=='f')&&(a[1]=='e')&&(a[2]=='b'))

else if ((a[0]=='m')&&(a[1]=='a')&&(a[2]=='r'))

else if ((a[0]=='a')&&(a[1]=='p')&&(a[2]=='r'))

else if ((a[0]=='m')&&(a[1]=='a')&&(a[2]=='y'))

else if ((a[0]=='j')&&(a[1]=='u')&&(a[2]=='n'))

else if ((a[0]=='j')&&(a[1]=='l')&&(a[2]=='y'))

else if ((a[0]=='a')&&(a[1]=='u')&&(a[2]=='g'))

else if ((a[0]=='s')&&(a[1]=='e')&&(a[2]=='p'))

else if ((a[0]=='o')&&(a[1]=='c')&&(a[2]=='t'))

else if ((a[0]=='n')&&(a[1]=='o')&&(a[2]=='v'))

else if ((a[0]=='d')&&(a[1]=='e')&&(a[2]=='c'))

}void dizhuanhuoshi(int b)

else if (b==2)

else if (b==3)

else if (b==4)

else if (b==5)

else if (b==6)

else if (b==7)

else if (b==8)

else if (b==9)

else if (b==10)

else if (b==11)

else if (b==12)

}void dizhuanhuoge(int b)

else if (b==2)

else if (b==3)

else if (b==4)

else if (b==5)

else if (b==6)

else if (b==7)

else if (b==8)

else if (b==9)

else if (b==10)

else if (b==11)

else if (b==12)

}

1044 火星數字 20 PAT乙級真題

火星人是以13進製計數的 地球人的0被火星人稱為tret。地球人數字1到12的火星文分別為 jan,feb,mar,apr,may,jun,jly,aug,sep,oct,nov,dec。火星人將進製以後的12個高位數字分別稱為 tam,hel,maa,huh,tou,kes,hei,elo,syy...

PAT乙級 1044 火星數字 20

時間限制 400 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 火星人是以13進製計數的 例如地球人的數字 29 翻譯成火星文就是 hel mar 而火星文 elo nov 對應地球數字 115 為了方便交流,請你編寫程式實現地球和火...

PAT乙級1044 火星數字 20

題目 火星人是以13進製計數的 例如地球人的數字 29 翻譯成火星文就是 hel mar 而火星文 elo nov 對應地球數字 115 為了方便交流,請你編寫程式實現地球和火星數字之間的互譯。輸入格式 輸入第一行給出乙個正整數n 100 隨後n行,每行給出乙個 0,169 區間內的數字 或者是地球...