Конвертер из римской системы счисления в арабскую - C (СИ)
Формулировка задачи:
конвертер из римской системы счисления в арабскую
Решение задачи: «Конвертер из римской системы счисления в арабскую»
textual
Листинг программы
// rimskaya_sistema.cpp: определяет точку входа для консольного приложения. #include "stdafx.h" #include <stdio.h> #include <conio.h> #include <string.h> int _tmain(int argc, _TCHAR* argv[]) { int i,j,a,b; char s[10]; int ch = 0; printf("Введите число в римской системе\n"); scanf("%s", s); switch(s[strlen(s)-1]) { case 'I' : a = 1; break; case 'V' : a = 5; break; case 'X' : a = 10; break; case 'L' : a = 50; break; case 'C' : a = 100; break; case 'D' : a = 500; break; case 'M' : a = 1000; } ch = a; for ( i = strlen(s)-2 ; i >-1 ; i--) { switch(s[i]) { case 'I' : b = 1; break; case 'V' : b = 5; break; case 'X' : b = 10; break; case 'L' : b = 50; break; case 'C' : b = 100; break; case 'D' : b = 500; break; case 'M' : b = 1000; } if ( a == b) { ch = ch + b; } if ( b < a) { ch = ch - b; a = b; } if ( b > a) { ch = ch + b; a = b; } } printf("Output: %d", ch); getch(); return 0; }
Объяснение кода листинга программы
- Включаются необходимые заголовочные файлы
- Определяется точка входа для консольного приложения
- Объявляются переменные: i, j, a, b, s, ch
- Выводится сообщение для ввода числа в римской системе счисления
- Считывается введенное число в массив s с помощью функции scanf
- Определяется значение переменной a в зависимости от последнего символа введенного числа
- Переменная ch инициализируется значением переменной a
- Начинается цикл, который проходит по всем символам введенного числа в обратном порядке
- Внутри цикла определяется значение переменной b в зависимости от текущего символа
- Если значение переменной a равно значению переменной b, то значение переменной ch увеличивается на значение переменной b
- Если значение переменной b меньше значения переменной a, то значение переменной ch уменьшается на значение переменной b, а значения переменных a и b меняются местами
- Если значение переменной b больше значения переменной a, то значение переменной ch увеличивается на значение переменной b, а значения переменных a и b меняются местами
- После окончания цикла выводится значение переменной ch
- Вызывается функция getch для приостановки выполнения программы до нажатия клавиши
- Возвращается 0, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д