Estoy aprendiendo a programar en c y me he puesto con el conversor de numeros a romanos y me gustaria saber si está más o menos correcto:
#include <stdio.h>
#include <stdlib.h>
int main() {
int n,i, resto1,resto2, resto3, resto4, resto5, resto6;
printf("Introduce un numero: ");
scanf("%i",&n);
resto1 = n%1000;
resto2 = resto1%500;
resto3 = resto2%100;
resto4 = resto3%50;
resto5 = resto4%10;
resto6 = resto5%5;
if(n/1000>=0)
{for(i=0;i<n/1000;i++)
printf("M");}
if(resto1>=500 && resto1<900)
printf("D");
else if(resto1>=900 && resto1<1000)
printf("CM");
else if(resto2>=400 && resto2<500)
printf("CD");
if(resto2>=100 && resto2<400)
{for(i=0; i<resto2/100; i++)
printf("C");}
if(resto3>=50 && resto3<90)
printf("L");
else if(resto3>=90 && resto3<100)
printf("XC");
else if(resto4>=40 && resto4<50)
printf("XL");
if(resto4>=10 && resto4 <40)
{for(i=0; i< resto4/10; i++)
printf("X");}
if(resto5>=5 && resto5<9)
printf("V");
else if(resto5>=9 && resto5<10)
printf("IX");
else if(resto6>=4 && resto6<5)
printf("IV");
if(resto6>=1 && resto6<4)
{for(i=0; i< resto6/1; i++)
printf("I");}
printf("\n\n");
main();
return 0;
system("pause");
}