火星數字 20

2021-07-24 21:22:01 字數 1431 閱讀 5065

時間限制

400 ms

記憶體限制

65536 kb

**長度限制

8000 b

判題程式

standard

作者 chen, yue

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

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

輸入格式:

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

輸出格式:

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

輸入樣例:

4295

elo nov

tam

輸出樣例:
hel mar

may115

13這題個人認為比較麻煩,得判斷輸入的是地球字還是火星字;

我的方法是直接判斷字串的第乙個數,是『0』--『9』的數就是地球的;

然後還有將地球字變為13進製, 然後輸出對應的字串。

如果輸入的是火星字,判斷長度,前三個是乙個字串,如果有後三個,後三個是乙個字串,然後在字串陣列裡面尋找。

然後把對應的下表轉換成整數,再變成10進製的數。。(注意地球和火星的0);

#include

char a[13][4] = ;

char b[13][4] = ;

void shisan(int n)

int num = n / 13;

int num2 = n % 13;

if (num == 0)

if (num2 == 0)

printf("

%s %s\n"

, b[num], a[num2]);

}int main()

shisan(n);

}else

else

fz[j] = '\0';

j++;

if (strlen(s)>4)

fz2[k] = '\0';

}int s_num=0;

int g_num=0;

if (num)

}for (int i = 0; i < 13; i++)

}printf("

%d\n

", s_num * 13 + g_num);//輸入轉化為10進製的數

}else

}for (int i = 0; i < 13; i++)

}if (g_num != 0)

else}}

}} return

0;}

1044 火星數字 20

火星人是以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...

1044 火星數字 20

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

1044 火星數字 20

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