Конвертер из римской системы счисления в арабскую - 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, что означает успешный конец работы программы
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д