Как превратить целые числа в римские цифры с помощью C? - PullRequest
0 голосов
/ 21 сентября 2019

Итак, я написал очень грязный код, чтобы превратить введенное пользователем число в римские цифры.Я улучшу его позже, но не смогу начать, если этот не работает.

Он работает, до определенного момента, его предел равен 100. Моя проблема с этим, он может 'т "добавить" номера.Например, я положил в 3, он печатает «III».Но если я вставлю 78, он выводит только «LXX», игнорируя «VIII».

Что я сделал не так?

#include <stdio.h>
int main()
{
    int num;
    printf("Enter Number: ");
    scanf_s("%d", &num);
    if (num >= 90)
    {
        printf("XC");
        num = num - 90;
    }
    else
    {
        if (num >= 80)
        {
            printf("LXXX");
            num = num - 80;
        }
        else
        {
            if (num >= 70)
            {
                printf("LXX");
                num = num - 70;
            }
            else
            {
                if (num >= 60)
                {
                    printf("LX");
                    num = num - 60;
                }
                else
                {
                    if (num >= 50)
                    {
                        printf("L");
                        num = num - 50;
                    }
                    else
                    {
                        if (num >= 40)
                        {
                            printf("XL");
                            num = num - 40;
                        }
                        else
                        {
                            if (num >= 30)
                            {
                                printf("XXX");
                                num = num - 30;
                            }
                            else
                            {
                                if (num >= 20)
                                {
                                    printf("XX");
                                    num = num - 20;
                                }
                                else
                                {
                                    if (num >= 10)
                                    {
                                        printf("X");
                                        num = num - 10;
                                    }
                                    else
                                    {
                                        if (num == 9)
                                        {
                                            printf("IX");
                                        }
                                        else
                                        {
                                            if (num == 8)
                                            {
                                                printf("VIII");
                                            }
                                            else
                                            {
                                                if (num == 7)
                                                {
                                                    printf("VII");
                                                }
                                                else
                                                {
                                                    if (num == 6)
                                                    {
                                                        printf("VI");
                                                    }
                                                    else
                                                    {
                                                        if (num == 5)
                                                        {
                                                            printf("V");
                                                        }
                                                        else
                                                        {
                                                            if (num == 4)
                                                            {
                                                                printf("IV");
                                                            }
                                                            else
                                                            {
                                                                if (num == 3)
                                                                {
                                                                    printf("III");
                                                                }
                                                                else
                                                                {
                                                                    if (num == 2)
                                                                    {
                                                                        printf("II");
                                                                    }
                                                                    else
                                                                    {
                                                                        if (num == 1)
                                                                        {
                                                                            printf("I");
                                                                        }
                                                                    }
                                                                }
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
...