先写一下1-10的罗马数字
1 -->> I
2 -->> II
3 -->> V
4 -->> IV (注意,不能写成 IIII)
5 -->> V
6 -->> VI
7 -->> VII
8 -->>VIII (注意,不能写成 IIX)
9 -->>IX
10 -->> X
百度阿拉伯数字的规则我们知道,要将阿拉伯数字转化成罗马数字,先找到一个字符串中最大的数,然后减去左边,再加上右边,
因为左边的比它小,右边的比它大。
第一步就是将单个的字符转化为数字------->>
const int N = 100;
char digits[N] = { 'I','V','X','L','C','D','M' };
int value[N] = { 1,5,10,50,100,500,1000 };
int digitsToValue(char ch) {
int i;
for (i = 0; i < N; i++) {
if (digits[i] == ch) return value[i];
}
//异常处理
return 0;
}
第二步就是在字符串中找到最大的数的位置----->>
<