Преобразовать римское число из строки в число - C#
Формулировка задачи:
Вводится строка. Если она является записью римского числа, то преобразовать ее в целое число
(язык С#) хелп
Решение задачи: «Преобразовать римское число из строки в число»
textual
Листинг программы
static void Main(string[] args) { string s; Console.Write("введите римское число состоящие из цифр I,V,X: "); s= Convert.ToString(Console.ReadLine()); bool ok = true; int state = 1, n = 0; for (int i = 0; i < s.Length && ok; i++) { switch(s[i]) { case 'X': switch(state) { case 1: n=10; state=2; break; case 2: n=n+10; break; case 3: case 4: case 5: ok=false; break; case 6: n=n+8; state=7; break; case 7: ok=false; break; } break; case 'V': switch(state) { case 1: n=5; state=3; break; case 2: n=n+5; state=3; break; case 3: case 4: case 5: ok=false; break; case 6: n=n+3; state=7; break; case 7: ok= false; break; } break; case 'I': switch(state) { case 1: n=1; state=6; break; case 2: n=n+1; state=6; break; case 3: n=n+1; state=4; break; case 4: n=n+1; state=5; break; case 5: n=n+1; state=7; break; case 6: n=n+1; state=5; break; case 7: ok=false; break; } break; default: ok=false; break; } if (ok) Console.WriteLine(n); else Console.WriteLine("Не являеться римским числом"); Console.ReadKey(); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д