送给大家一个把阿拉伯数字与罗马数字互换的代码 -.- 仅支持4000以下的转化
来源:互联网 发布:腾讯云计算招聘 编辑:程序博客网 时间:2024/05/13 22:28
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》正常使用时、连写的数字重复不得超过三次;
5》在一个数的上面画一条横线、表示这个数扩大 1000 倍。
阿拉伯数字化为罗马数字代码:
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int main(){ int n; cin>>n; while (n) { if (n>=1000) { while (n>=1000) { cout<<'M'; n-=1000; } } else if (n>=500) { if (n>=900) { cout<<"CM"; n-=900; } else { cout<<'D'; n-=500; } } else if (n>=100) { if (n>=400) { cout<<"CD"; n-=400; } else { cout<<'C'; n-=100; } } else if (n>=50) { if (n>=90) { cout<<"XC"; n-=90; } else { cout<<'L'; n-=50; } } else if (n>=10) { if (n>=40) { cout<<"XL"; n-=40; } else { cout<<'X'; n-=10; } } else if (n>=5) { if (n>=9) { cout<<"IX"; n-=9; } else { cout<<'V'; n-=5; } } else if (n>=1) { if (n>=4) { cout<<"IV"; n-=4; } else { cout<<'I'; n-=1; } } } cout<<'\n'; return 0;}
罗马数字化为阿拉伯数字代码:
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;int hua(char xx){ if (xx=='I') return 1; else if (xx=='V') return 5; else if (xx=='X') return 10; else if (xx=='L') return 50; else if (xx=='C') return 100; else if (xx=='D') return 500; else return 1000;}int main(){ char luo[100]; int shu=0; cin>>luo; int ll=strlen(luo); for (int i=0;i<ll;i++) { shu+=hua(luo[i]); if (i&&hua(luo[i])>hua(luo[i-1])) shu-=2*hua(luo[i-1]); } cout<<shu<<'\n'; return 0;}
0 0
- 送给大家一个把阿拉伯数字与罗马数字互换的代码 -.- 仅支持4000以下的转化
- 罗马数字与阿拉伯数字的相互转化
- 阿拉伯数字(1到4000)转化为罗马数字的javascript实现
- 对一个罗马数字与阿拉伯数字转换算法的分析
- Python 罗马数字与阿拉伯数字的转换
- 罗马数字与阿拉伯数字的相互转换
- 阿拉伯数字转化为罗马数字
- 将罗马数字转换成普通的阿拉伯数字
- 罗马数字与阿拉伯数字相互转换
- 罗马数字与阿拉伯数字互转
- 12.阿拉伯数字转化为罗马数字1-3999
- 13.罗马数字转化为阿拉伯数字1-3999
- 以下是在网上看到的一个用C语言编写的木马源程序代码大家
- 送给大家一个很好的Web前端开发工具
- 阿拉伯数字与中文数字的转换----------相互转化
- 把一个阿拉伯数字转换成中文数字的算法
- 将1到1000的阿拉伯数字转换为罗马数字
- 经典题:罗马数字和阿拉伯数字的相互转换
- hbase大规模数据写入的优化历程
- PHP加密解密
- NEC uPC1237 喇叭保護電路電路設計
- C语言之内存操作:memset & memcpy
- ImageView控件
- 送给大家一个把阿拉伯数字与罗马数字互换的代码 -.- 仅支持4000以下的转化
- android studio修改包名技巧多图详解
- 制作Ramdisk文件系统
- CentOS 7视频音频解码器问题
- 欢迎使用CSDN-markdown编辑器
- android清理内存缓存和文件缓存
- C++之双目运算符重载
- 第一章 网络编程入门
- 关于BufferefReader.readLine()方法的理解