Título: Conversor de números arábigos a números romanos Publicado por: perico1995 en 19 Diciembre 2017, 17:54 pm 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"); } |