首页 > 其他 > 详细

罗马数字转化

时间:2016-07-22 14:22:39      阅读:233      评论:0      收藏:0      [点我收藏+]

技术分享

IV=4

#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
char ss[1000];
int main()
{
    while(cin>>ss)
    {  int sum=0;;
        for(int i=0; i<strlen(ss); i++)
        {

            switch(ss[i])
            {
            case‘M‘:
                sum+=1000;
                break;
            case‘D‘:
                sum+=500;
                break;
            case‘C‘:
                if(ss[i+1]==‘D‘||ss[i+1]==‘M‘)
                    sum-=100;
                else sum+=100;
                break;
            case‘L‘:
                sum+=50;
                break;
            case‘X‘:
                if(ss[i+1]==‘L‘||ss[i+1]==‘C‘)
                    sum-=10;
                else sum+=10;
                break;
            case‘I‘:
                if(ss[i+1]==‘X‘||ss[i+1]==‘V‘)
                    sum-=1;
                else sum+=1;
                break;
            }

        }
        cout<<sum<<endl;
    }
}

  6=VI

#include<cstdio>
#include<iostream>
using namespace std;
int main()
{
    int  n;
    while(cin>>n)
    {
        char* one[15]= {"","I","II","III","IV","V","VI","VII","VIII","IX"};
        char* ten[15] = {"","X","XX","XXX","XL","L","LX","LXX","LXXX","XC"};
        char* hundreds[15] = {"", "C", "CC", "CCC", "CD", "D", "DC", "DCC", "DCCC", "CM"};
        char* thousand[5] = {"","M","MM","MMM"};
        cout<<thousand[n/1000];
        cout<<hundreds[n%1000/100];
        cout<<ten[n%100/10];
        cout<<one[n%10];
    }

}

  

 

罗马数字转化

原文:http://www.cnblogs.com/sxy-798013203/p/5694816.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!