前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >整数转换为罗马字符串_字符型转换成int型

整数转换为罗马字符串_字符型转换成int型

作者头像
全栈程序员站长
发布2022-09-27 12:52:57
3220
发布2022-09-27 12:52:57
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

给定一个整数数字s,(1<=s<=3999)(即1到3999),将整数转换成罗马数字。

罗马数字I,II,III,IV,V分别代表数字1,2, 3, 4, 5。

格式:

第一行输入一个整数,接下来输出对应的罗马数字。

首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。

在构成数字的时候,有下列规则:

1、相同的数字连写,所表示的数等于这些数字相加得到的数,如:Ⅲ= 3;

2、小的数字在大的数字的右边,所表示的数等于这些数字相加得到的数, 如:Ⅷ= 8;Ⅻ= 12;

3、小的数字,(限于Ⅰ、X 和C)在大的数字的左边,所表示的数等于大数减小数得到的数,如:Ⅳ=4;Ⅸ=9;

4、正常使用时,连写的数字重复不得超过三次。

样例输入:

123

样例输出:

CXXIII

#include <iostream> #include <string> using namespace std; class Solution { public: string intToRoman(int num){ string M[]={“”,”M”,”MM”,”MMM”}; string C[]={“”,”C”,”CC”,”CCC”,”CD”,”D”,”DC”,”DCC”,”DCCC”,”CM”}; string X[]={“”,”X”,”XX”,”XXX”,”XL”,”L”,”LX”,”LXX”,”LXXX”,”XC”}; string I[]={“”,”I”,”II”,”III”,”IV”,”V”,”VI”,”VII”,”VIII”,”IX”}; string out=M[num/1000]; out+=C[(num%1000)/100]; out+=X[(num%100)/10]; out+=I[num%10]; return out;

} }; int main(void){

Solution inputNum; string outputNum; outputNum = inputNum.intToRoman(678); cout<<outputNum; return 0; }

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188522.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档