張老師數數

2021-09-19 09:11:56 字數 1405 閱讀 7213

張老師需要用數字來統計學生們的得分情況,但阿拉伯數字已經不能滿足他的要求了,所以想請你幫忙將學生的成績轉換成羅馬數字。

羅馬數字是由七個不同的符號來表示(i,v,x,l,c,d和m),其中每個符號對應的值如下表

符號 值

i   1

v   5

x   10

l   50

c   100

d   500

m   1000

羅馬數字通常從左到右從最大寫到最小,表示他們的總和。但是,數字4的羅馬數字表示不是iiii,而是iv,表示5-1=4。同樣的,有6個應用相同原理的規則:

i可以放在v(5)和x(10)之前代表4和9。 

x可以在l(50)和c(100)之前代表40和90。 

c可以放在d(500)和m(1000)之前代表400和900。

現在給定乙個整數,張老師請你計算出其羅馬數字的表示。

第一行乙個整數x(1<=x<=2000)
輸出一行,表示整數x所對應的羅馬數字表示
示例1

複製

5
複製

v
示例2

複製

1926
複製

mcmxxvi
這道題是乙個典型的字串處理

下面看**

#include #include char str[5],num[20];//str儲存輸入的數,num儲存輸出的數 

int t=0;//用來將資料結果記入num;

void ffour(int x)//處理在數字為4上的數

void fthree(int x)//處理在數字為3上的數

else if(x==4)

else if(x==5)

num[t++]='d';

if(x>5&&x<9)

if(x==9)

return ;

}void ftwo(int x)//處理在數字為2上的數

else if(x==4)

else if(x==5)

num[t++]='l';

if(x>5&&x<9)

if(x==9)

return ;

}void fone(int x)//處理在數字為1上的數

else if(x==4)

else if(x==5)

num[t++]='v';

if(x>5&&x<9)

if(x==9)

return ;

}void a(int m,int x)

int main()

num[t]='\0';//最後結尾

printf("%s\n",num);

return 0;

}

牛客網 A 張老師數數

problem description 張老師需要用數字來統計學生們的得分情況,但阿拉伯數字已經不能滿足他的要求了,所以想請你幫忙將學生的成績轉換成羅馬數字。羅馬數字是由七個不同的符號來表示 i,v,x,l,c,d和m 其中每個符號對應的值如下表 符號 值 i 1 v 5 x 10 l 50 c 1...

張老師的期待

希望畢業後,學生的技能 1 linux 多門課程需要,盡早引導自學,目前設想大一下學期由研究生業餘時間組織學習 掌握命令 指令碼程式設計 服務配置 系統管理等 2 程式設計 組合語言 熟悉一種組合語言,有 彙編 思想 純c 建議直接採用gcc教學,c 可依興趣自學 資料結構 作業系統核心程式設計 熟...

張老師的旅行

張老師的旅行 題解 區間dp。區間dp的基本解題方法 列舉長度 列舉起點 那麼終點根據長度也就知道了 列舉分割點 但是本題並不需要列舉分割點,因為需要花費時間最短一定,那麼一定是從所列舉的區間的一邊一直走到另一邊,那麼是從左走到右還是從右走到左呢,這時我們就想到了dp開一維來放0,1,其中0表示從右...