首頁 >後端開發 >C++ >將以下內容翻譯為中文:C程式將羅馬數字轉換為十進位數字

將以下內容翻譯為中文:C程式將羅馬數字轉換為十進位數字

WBOY
WBOY轉載
2023-09-05 21:53:05708瀏覽

將以下內容翻譯為中文:C程式將羅馬數字轉換為十進位數字

給出以下是一個將羅馬數字轉換為十進制數字的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,&#39;I&#39;);
   printf("%5d............%3c</p><p>",5,&#39;V&#39;);
   printf("%5d............%3c</p><p>",10,&#39;X&#39;);
   printf("%5d............%3c</p><p>",50,&#39;L&#39;);
   printf("%5d............%3c</p><p>",100,&#39;C&#39;);
   printf("%5d............%3c</p><p>",500,&#39;D&#39;);
   printf("%5d............%3c</p><p>",1000,&#39;M&#39;);
   printf("Enter a Roman numeral:");
   scanf("%s",roman);
   length=strlen(roman);
   for(i=0;i<length;i++){
      switch(roman[i]){
         case &#39;m&#39;:
         case &#39;M&#39;: d[i]=1000; break;
         case &#39;d&#39;:
         case &#39;D&#39;: d[i]= 500; break;
         case &#39;c&#39;:
         case &#39;C&#39;: d[i]= 100; break;
         case &#39;l&#39;:
         case &#39;L&#39;: d[i]= 50; break;
         case &#39;x&#39;:
         case &#39;X&#39;: d[i]= 10; break;;
         case &#39;v&#39;:
         case &#39;V&#39;: d[i]= 5; break;
         case &#39;i&#39;:
         case &#39;I&#39;: 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除