判断是否比后一位小,如果是的,那就减去这一位的值。
否则加上这一位的值。
int romanToInt(char * s){
int len = strlen(s);
int val[len];
int i, sum = 0;
for(i = 0; i < len; ++i){
switch(s[i]){
case 'I' :
val[i] = 1;
break;
case 'V' :
val[i] = 5;
break;
case 'X' :
val[i] = 10;
break;
case 'L' :
val[i] = 50;
break;
case 'C' :
val[i] = 100;
break;
case 'D' :
val[i] = 500;
break;
case 'M' :
val[i] = 1000;
break;
}
}
for(i = 0; i < len-1; ++i){
if(val[i] < val[i+1]){
sum -= val[i];
}
else{
sum += val[i];
}
}
return sum + val[len-1];
}