1044 火星數字 (c語言實現)

2021-10-04 04:41:19 字數 942 閱讀 6997

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

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

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

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

4295

elo nov

tam

hel mar

may115

13

此題有很多小坑,比如由給出的輸入輸出樣例可以看到當地球數是能整除13的轉換為火星文就只需要一位,這個是測試點2,4錯誤的原因,找了好半天。

在這裡用了strncmp函式,可以控制比較的位數。

#include

#include

intmain()

;char

*num2[12]

=;int n;

scanf

("%d"

,&n)

;getchar()

;int i;

for(i=

0;i(num<=12)

else

else}}

else

}for

(j=0

;j<

12;j++)}

if(flag==0)

}for

(j=0

;j<

13;j++)}

printf

("%d\n"

,sum);}

}}return0;

}

1044 火星數字 c語言

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

1044 火星數字 C語言

思路 首先用指標陣列儲存給出的低位火星文和進製火星文 然後判斷輸入的是幾部分。如果是兩部分,那就一定是火星文,如果是一部分,再去判斷是火星文還是數字。注 他這個火星文有點特殊,它可以單獨只有乙個高位沒有低位,單獨乙個tam就是13,而不是tam tret,這點要注意,還有單獨0的情況 include...

1044 火星數字

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