1.設計一程式可將最長含10個字元的字串讀入, 每一個字元均代表某一數值
的羅馬數表示法。將讀入之羅馬數及其相對應之阿拉伯數一起列印出來。
羅馬數和字元之對應表如下:
M
1000
D
500
C
100
L
50
X
10
V
5
I
1
你的輸入有下列幾組:
1.VII
2.LXXXVII
3.CCXIX
4.MCCCLIV
5.MMDCLXXIII
6.MCDLXXVI
|
範例一 |
範例二 |
範例三 |
範例四 |
範例五 |
範例六 |
輸入 |
VII |
LXXXVII |
CCXIX |
MCCCLIV |
MMDCLXXIII |
ICXI |
輸出 |
7 |
87 |
219 |
1354 |
3999 |
不合法 |
*=======羅馬數字的規則=======*
1.基本上這是單純數字..如果會是負數..會跟阿拉伯數字一樣在左邊加個-
2.以數字大的為基準..端看大數字在哪一方向
3.大數在左邊..則是往右加..
4.大數在右邊..則是往左減
上面那些是所謂的「羅馬數字」。
羅馬數字有個很單純的規則,不難懂的!
→ i=1
v=5
x=10
l=50
c=100
d=500
m=1000
●兩個相同的放在一起就是相加
ex• iii=3 xx=20
●但注意有時是須要進位的(怎麼進看下一點)
ex• 15要寫成xv而不是vvv
●而且同一單位不可出現超過三次
ex• 4要寫成iv而不是iiii
●不同的放在一起時,放左邊是減(大減小),放右邊是加(大加小)
ex• xii=12 xxvi=26
●但往左減不能跳等級減
ex• 99要寫成xcix不能寫成ic
●在數字上方加線或在其右下角加一個M→數字本身乘1000
*同理,若上方加兩條則是一百萬倍
ex•(抱歉我打不出來= =)
放幾個大數字給你看看吧
xlix=49
cxlvi=146
cdxciv=494
[18]
2.輸入由許多字(WORDS)組成之字串,總長度不超過30
characters,字與
字間由一個或一個以上之 SPACES或是以句點、逗號、驚嘆號隔開。設計
一程式將此字串平均安排在長度為 40 characters 之 Array 中,使得
第一字向左對齊,最後一字向右對齊 (Fully Justified);每個字之間
以大約相等之SPACES隔開。印出輸入及重組後之字串。
測試資料:
LINK THIS PC TO THE HOST
輸入範例一 |
LINK^THIS^PC^TO^THE^HOST (^代表空格) |
輸出範例一 |
LINK^^^^^THIS^^^^PC^^^^TO^^^^THE^^^^HOST |
輸入範例二 |
LINK,THIS.PC^^TO!THE^HOST. (^代表空格) |
輸出範例二 |
LINK^^^^^THIS^^^^PC^^^^TO^^^^THE^^^^HOST |
[19]