給出以下是一個將羅馬數字轉換為十進制數字的C語言演算法:
步驟1 - 開始
步驟2 - 在運行時讀取羅馬數字
步驟3 - 長度: = strlen(roman)
步驟4 - 對於i = 0到長度-1
步驟4.1 - switch(roman[i])
步驟4.1.1 - case 'm':
4.1.2.1 - d[i]: =1000
步驟4.1.3 - case 'd':
4.1.4.1 - d[i]: =500
步驟4.1.5 - case 'c':
步驟4.1.6.1 - d[i]: =100
步驟4.1.7 - case 'l':
4.1.8.1 - d[i]: =50
## 步驟4.1.9 - case 'x': 步驟4.1.10 - case '# 4.1.10.1 - d[i]: =10 步驟4.1.11 - case 'v': 步驟4.1.12## 步驟4.1.12 -
# 4.1.12.1 - d[i]: =5## 步驟4.1.13 - case 'i':
# 步驟4.1.14 -
# # 步驟4.1.14 -# :# # 4.1.14.1 - d[i]: =1
##卷i]>=d[i 1]) 步驟5.1.1 - deci = d[i] 1 - deci - = d[i]步驟6 - 列印羅馬數字的十進位等價物#步驟7 - 停止程式以下是將羅馬數字轉換為十進制數字的C程式:#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); }輸出當上述程式被執行時,它產生以下結果−
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
以上是將以下內容翻譯為中文:C程式將羅馬數字轉換為十進位數字的詳細內容。更多資訊請關注PHP中文網其他相關文章!