• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

C++ 将罗马数字转换成阿拉伯数字

OC/C/C++ 水墨上仙 1735次浏览

C++ 将罗马数字转换成阿拉伯数字

/* A Roman to Decimal converter */
#include <iostream>
int romToDec(char *p);
int valueOf(char c);
int main()
{
    char rom[50];
    std::cout << "Roman: ";
    std::cin.getline(rom, 50);
    std::cout << "Decimal: " << romToDec(rom) << std::endl;
    std::cin.ignore(1000, '\n');
    return 0;
}
int romToDec(char *p)
{
    int result = 0;
    for(; *p; p++)
    {
        int current = valueOf(*p);
        int next = valueOf(*(p+1));
        if(current >= next) result += current;
        else result -= current;
    }
    return result;
}
int valueOf(char c)
{
    switch(c)
    {
        case 'M': return 1000;
        case 'D': return 500;
        case 'C': return 100;
        case 'L': return 50;
        case 'X': return 10;
        case 'V': return 5;
        case 'I': return 1;
        default: return 0;
    }
}


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明C++ 将罗马数字转换成阿拉伯数字
喜欢 (0)
加载中……