第三屆藍橋杯 羅馬數字

2021-08-10 18:37:21 字數 1854 閱讀 6080

題目:羅馬數字

古羅馬帝國開創了輝煌的人類文明,但他們的數字表示法的確有些繁瑣,尤其在表示大數的時候,現在看起來簡直不能忍受,所以在現代很少使用了。之所以這樣,不是因為發明表示法的人的智力的問題,而是因為乙個宗教的原因,當時的宗教禁止在數字中出現0的概念!

羅馬數字的表示主要依賴以下幾個基本符號:

i  1

v  5

x  10

l  50

c  100

d  500

m  1000

這裡,我們只介紹一下1000以內的數字的表示法。

單個符號重複多少次,就表示多少倍。最多重複3次。比如:ccc表示300  xx表示20,但150並不用lll表示,這個規則僅適用於i x c m。

i,1 

ii,2

iii,3

iv,4

v,5vi,6

vii,7

viii,8

ix,9 

x,10

xi,11

xii,12

xiii,13

xiv,14

xv,15

xvi,16

xvii,17

xviii,18

xix,19

xx,20

xxi,21

xxii,22

xxix,29

***,30

***iv,34

***v,35

***ix,39

xl,40

l,50

li,51

lv,55

lx,60

lxv,65

l***,80

xc,90

xciii,93

xcv,95

xcviii,98

xcix,99

c,100

cc,200

ccc,300

cd,400

d,500

dc,600

dcc,700

dccc,800

cm,900

cmxcix,999

本題目的要求是:請編寫程式,由使用者輸入若干個羅馬數字串,程式輸出對應的十進位制表示。

輸入格式是:第一行是整數n,表示接下來有n個羅馬數字(n<100)。以後每行乙個羅馬數字。羅馬數字大小不超過999。

要求程式輸出n行,就是羅馬數字對應的十進位制資料。

例如,使用者輸入:

3l***

xciii

dccii

則程式應該輸出:

8093

702注意:

請仔細除錯!您的程式只有能執行出正確結果的時候才有機會得分!  

在評卷時使用的輸入資料與試卷中給出的例項資料可能是不同的。

請把所有函式寫在同乙個檔案中,除錯好後,存入與【考生資料夾】下對應題號的「解答.txt」中即可。    

相關的工程檔案不要拷入。   

源**中不能能使用諸如繪圖、win32api、中斷呼叫、硬體操作或與作業系統相關的api。   

允許使用stl類庫,但不能使用mfc或atl等非ansi c++標準的類庫。例如,不能使用cstring型別(屬於mfc類庫)。

(本題17分)

c++**:

#include using namespace std;

int getnum(char ch)

return temp;

}int main()

cout << sum << endl; }

return 0;

}

第三屆藍橋杯部分試題與答案

第三屆藍橋杯複試

第四題 奇怪的比賽 某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不...

藍橋杯第三屆題目

某電視台舉辦了低碳生活大獎賽。題目的計分規則相當奇怪 每位選手需要回答10個問題 其編號為1到10 越後面越有難度。答對的,當前分數翻倍 答錯了則扣掉與題號相同的分數 選手必須回答問題,不回答按錯誤處理 每位選手都有乙個起步的分數為10分。某獲勝選手最終得分剛好是100分,如果不讓你看比賽過程,你能...

第三屆藍橋杯預賽

3 任何乙個自然數m的立方均可寫成m個連續奇數之和。例如 1 3 1 2 3 3 5 3 3 7 9 11 4 3 13 15 17 19 程式設計實現 輸入一自然數n,求組成n 3的n個連續奇數。4 由鍵盤輸入乙個自然數 1 n 9 要求程式在螢幕上輸出如下圖形。時 時 時 注 應保證 在圖形中只...