Итак, я написал очень грязный код, чтобы превратить введенное пользователем число в римские цифры.Я улучшу его позже, но не смогу начать, если этот не работает.
Он работает, до определенного момента, его предел равен 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");
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}