кодесурса
«C

Упражнения на С: преобразование данного римского числа в целое число

script1adsense2code
script1adsense3code

Программирование на C: упражнение 7 с решением

Напишите C-программу для преобразования заданного римского числа в целое число.

 Римские цифры представлены семью различными символами: I, V, X, L, C, D и M.
Значение символа
Я 1
V 5
X 10
Л 50
С 100
D 500
М 1000

Код C:

#include <stdio.h>
#include <stdlib.h>
static int roman_to_integer(char c)
{
    switch(c) {
    case 'I':  
        return 1;  
    case 'V':  
        return 5;  
    case 'X':  
        return 10;  
    case 'L':  
        return 50;  
    case 'C':  
        return 100;  
    case 'D':  
        return 500;  
    case 'M':  
        return 1000;  
    default:
        return 0;
    }
}
int roman_to_int (char *s)
{
    int i, int_num = roman_to_integer(s[0]);
    for (i = 1; s[i] !='\0'; i++) {
        int prev_num = roman_to_integer(s[i - 1]);
        int cur_num = roman_to_integer(s[i]);
        if (prev_num < cur_num) {
            int_num = int_num - prev_num + (cur_num - prev_num);
        } else {
            int_num += cur_num;
        }
    }
    return int_num;
}
int main(void)
 {
  char *str1 ="XIV";
    printf("Original Roman number: %s", str1);
    printf("\nRoman to integer: %d", roman_to_int(str1));
    return 0;
}

Пример вывода:

 Оригинальный римский номер: XIV
Роман до целого числа: 14

Иллюстрированная презентация:

«C

Блок - схема:

«C

Решение

Внесите свой код и комментарии через Disqus.

Previous: написать программу на C для преобразования заданного целого числа в римское число.
Далее: Напишите программу на C, чтобы найти все уникальные триплеты в данном массиве целых чисел, сумма которых равна нулю.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code