-5
これはローマ数字を10進数に変換するCのコードの一部です。しかし、私は本当にそれが正確に何かを理解することはできません。誰かが私に説明を与えることができますか?ローマ数字をCの10進数に変換
if ((strlen(roman_Number) - i) > 2) {
if (digitValue(roman_Number[i]) < digitValue(roman_Number[i + 2])) {
printf("Invalid roman number");
return 0;
}
}
if (digitValue(roman_Number[i]) >= digitValue(roman_Number[i + 1]))
number = number + digitValue(roman_Number[i]);
else {
number = number + (digitValue(roman_Number[i + 1]) - digitValue(roman_Number[i]));
i++;
}
i++;
} // unbalanced bracket
roman_Numberは数字を含む配列でなければなりません。digitValue()は魔法を行います。もちろん、私たちがあなたの宿題を解決してくれるのではないでしょうか? –
@ user349821 [これのようなもの](http://ideone.com/s5I50U)はどうですか? – Michi
この質問は将来の訪問者には有用ではないと思われるため、私はこの質問を議論の対象外としています。 –