罗马数字转换成数字java_C趣味编程百例(31)将阿拉伯数字转换为罗马数字
95.將阿拉伯數字轉換為羅馬數字
將大于0小于1000的阿拉伯數字轉換為羅馬數字。阿拉伯數字與羅馬數字的對應關系如下:
*問題分析與算法設計
題目中給出了阿拉伯數字與羅馬數字的對應關系,題中的數字轉換實際上就是查表翻譯。即將整數的百、十、個位依次從整數中分解出來,查找表中相應的行后輸出對應的字符。
*程序與程序設計
#includevoid?main()
{
static?char?*a[][10]={"","I","II","III","IV","V","VI","VII","VIII","IX"
"","X","XX","XXX","XL","L","LX","LXX","LXXX","XCC",
"","C","CC","CCC","CD","D","DC","DCC","DCCC","CM"
};???????????/*建立對照表*/
int?n,t,i,m;
printf("Please?enter?number:");
scanf("%d",&n);???????????/*輸入整數*/
printf("%d=",n);
for(m=0,i=1000;m<3;m++,i/=10)
{
t=(n%i)/(i/10);????????/*從高位向低位依次取各位的數字*/
printf("%s",a[2-m][t]);??????/*通過對照表翻譯輸出*/
}
printf("\n");
}
*運行結果
1.?Please?enter?number:863
863=DCCCLXIII
2.?Please?enter?number:?256
256=CCLVI
3.?Please?enter?number:355
355=CCCLV
4.?Please?enter?number:522
522=DXXII
5.?Please?enter?number:15
15=XV
*思考題
輸入正整數N,產生對應的英文數字符串并輸出,例如:
1???????ONE??????2???TWO??????3???THREE
10??????TEN??????11??ELEVEN
135?????ONE?HUNDRED?THIRTY?FIVE
總結
以上是生活随笔為你收集整理的罗马数字转换成数字java_C趣味编程百例(31)将阿拉伯数字转换为罗马数字的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 联想拯救者R7000P 2021游戏本评
- 下一篇: 董明珠:只有自主创新才能成为行业领跑者