Étant donné ce qui suit est un algorithme en langage C pour convertir les chiffres romains en nombres décimaux :
Étape 1 - Démarrer
Étape 2 - Lire les chiffres romains au moment de l'exécution
Étape 3 - Longueur : = strlen(roman )
Étape 4 - pour i = 0 à longueur -1
Étape 4.1 - switch(roman[i])
Étape 4.1.1 - cas 'm' :
Étape 4.1.2 - cas 'M' :
Étape 4.1.4 Étape 4.1.4.1 - d[ i]: = 500 4 Étape 4.1.5 -case 'c':
Étape 4.1.6 -case 'c' :
Étape 4.1.6.1 -d [ i] : = 100
Étape 4.1.7- cas 'l' :
Étape 4.1.8 - cas 'L' :
Étape 4.1.8.1 - d[i] : =50
Étape 4.1.9 - case 'x':
Étape 4.1.10 - case' Étape 4.1.12.1 - d[i]: =5
‐ ' s ‐ ‐ ‐ ‐ étape 4.1.14.1 - d[i] : =1
‐ d[i]: =5
. using use ‐ ‐ ‐ ‐ ‐ ‐ Étape 5.1.1 - si (i == longueur - 1) ou ( d[i]>= d[i+1])
] Étape 5.2 -Sinon
Étape 5.2.1 -DECI - = D [i]
Étape 6 -Imprimer la décimale équivalent des chiffres romains
Étape Programme 7 C pour les nombres décimaux :
#include <stdio.h> #include <conio.h> main(){ char roman[30]; int deci=0; int length,i,d[30]; printf("The Roman equivalent to decimal</p><p>"); printf("Decimal:.........Roman</p><p>"); printf("%5d............%3c</p><p>",1,'I'); printf("%5d............%3c</p><p>",5,'V'); printf("%5d............%3c</p><p>",10,'X'); printf("%5d............%3c</p><p>",50,'L'); printf("%5d............%3c</p><p>",100,'C'); printf("%5d............%3c</p><p>",500,'D'); printf("%5d............%3c</p><p>",1000,'M'); printf("Enter a Roman numeral:"); scanf("%s",roman); length=strlen(roman); for(i=0;i<length;i++){ switch(roman[i]){ case 'm': case 'M': d[i]=1000; break; case 'd': case 'D': d[i]= 500; break; case 'c': case 'C': d[i]= 100; break; case 'l': case 'L': d[i]= 50; break; case 'x': case 'X': d[i]= 10; break;; case 'v': case 'V': d[i]= 5; break; case 'i': case 'I': d[i]= 1; } } for(i=0;i<length;i++){ if(i==length-1 || d[i]>=d[i+1]) deci += d[i]; else deci -= d[i]; } printf("The Decimal equivalent of Roman numeral %s is %d", roman, deci); }
Output
Lorsque le programme ci-dessus est exécuté, il produit le résultat suivant −
The Roman equivalent to decimal Decimal:.........Roman 1............ I 5............ V 10............ X 50............ L 100............ C 500............ D 1000............ M Enter a Roman numeral: M The Decimal equivalent of Roman Numeral M is 1000
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!