ホームページ  >  記事  >  バックエンド開発  >  以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム

WBOY
WBOY転載
2023-09-05 21:53:05641ブラウズ

以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラム

ローマ数字を 10 進数に変換する C 言語アルゴリズムを以下に示します。

アルゴリズム

ステップ 1 - 開始

ステップ 2 - 実行時にローマ数字を読み取る

ステップ 3 - 長さ: = strlen(roman)

ステップ 4 - i = 0 から長さ -1

ステップ 4.1 - switch(roman[i])

ステップ 4.1.1 - case 'm':

ステップ 4.1.2 - case 'M':

ステップ 4.1.2.1 - d[i]: =1000

ステップ 4.1.3 - ケース 'd':

ステップ 4.1.4 - ケース 'D':

ステップ 4.1.4.1 - d[i]: =500

ステップ 4.1.5 - ケース 'c':

ステップ 4.1.6 - ケース 'C':

ステップ 4.1.6.1 - d[i]: =100

ステップ 4.1.7 - case 'l':

ステップ 4.1.8 - case 'L':

ステップ 4.1.8.1 - d[i]: =50

ステップ 4.1.9 - ケース 'x':

ステップ 4.1.10 - ケース 'X':

ステップ 4.1.10.1 - d[i]: =10

ステップ 4.1.11 - case 'v':

ステップ 4.1.12 - case 'V':

ステップ 4.1.12.1 - d[i]: =5

ステップ 4.1.13 - case 'i':

ステップ 4.1.14 - case 'I':

ステップ 4.1.14.1 - d[i]: =1

ステップ 5 - i = 0 から length-1

の場合 ステップ 5.1 - (i==length-1) または (d[ i]> の場合) =d[i 1])

ステップ 5.1.1 - dec = d[i]

ステップ 5.2 - それ以外の場合

ステップ 5.2.1 - dec - = d[ i]

ステップ 6 - ローマ数字に相当する 10 進数を出力します。

ステップ 7 -

プログラムを停止します

以下は、 10 進数の 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

以上が以下を中国語に翻訳してください: ローマ数字を 10 進数に変換する C プログラムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。