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

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









以下に、ローマ数字を 10 進数に変換する C 言語アルゴリズムを示します。 アルゴリズム ステップ 1 - 開始 ステップ 2 - 実行時にローマ数字を読み取る ステップ 3 - 長さ: = strlen(roman) ステップ 4 - i=0 から長さ-1 の場合 ステップ4.1-switch(roman[i]) ステップ 4.1.1-case'm': &nbs

辞書編集的な文字列比較とは、文字列が辞書順に比較されることを意味します。たとえば、「apple」と「appeal」という 2 つの文字列がある場合、「app」の最初の 3 文字が同じであるため、最初の文字列が最後に来ます。次に、最初の文字列の文字は「l」で、2 番目の文字列の 4 番目の文字は「e」になります。 「e」は「l」より短いため、辞書順に並べ替えると最初に表示されます。文字列は配置される前に辞書順に比較されます。この記事では、C++ を使用して 2 つの文字列を辞書編集的に比較するためのさまざまな手法を見ていきます。 C++ 文字列での Compare() 関数の使用 C++string オブジェクトには Compare() があります。

リンク リストは動的なメモリ割り当てを使用します。つまり、リンク リストはそれに応じて拡大および縮小します。これらはノードのコレクションとして定義されます。ここで、ノードにはデータとリンクという 2 つの部分があります。データ、リンク、リンクリストの表現は以下のとおりです。 ・リンクリストの種類 リンクリストには以下の4種類があります。 ・シングルリンクリスト/シングルリンクリスト ダブル/ダブルリンクリスト 循環シングルリンクリスト 循環ダブルリンクリスト再帰的メソッドを使用してリンク リストの長さを確認します。ロジックは -intlength(node *temp){ if(temp==NULL) returnl; else{&n

双曲線関数は、円の代わりに双曲線を使用して定義され、通常の三角関数と同等です。ラジアン単位で指定された角度から双曲線正弦関数の比率パラメーターを返します。しかし、その逆、つまり別の言い方をすればいいのです。双曲線正弦から角度を計算したい場合は、双曲線逆正弦演算のような逆双曲線三角関数演算が必要です。このコースでは、C++ で双曲線逆サイン (asinh) 関数を使用し、ラジアン単位の双曲線サイン値を使用して角度を計算する方法を説明します。双曲線逆正弦演算は次の式に従います -$$\mathrm{sinh^{-1}x\:=\:In(x\:+\:\sqrt{x^2\:+\:1})}ここで\:In\:is\:自然対数\:(log_e\:k)

名前変更機能は、ファイルまたはディレクトリを古い名前から新しい名前に変更します。この操作は移動操作と似ています。したがって、この名前変更機能を使用してファイルを移動することもできます。この関数は、stdio.h ライブラリ ヘッダー ファイルに存在します。 rename 関数の構文は次のとおりです: intrename(constchar*oldname,constchar*newname); rename() 関数は 2 つのパラメータを受け取ります。 1 つは古い名前、もう 1 つは新しい名前です。どちらのパラメータも、ファイルの古い名前と新しい名前を定義する定数文字へのポインタです。ファイルの名前が正常に変更された場合はゼロを返し、それ以外の場合はゼロ以外の整数を返します。名前変更操作中

マップは C++ の特別なタイプのコンテナで、各要素は 2 つの値、つまりキー値とマップ値のペアです。キー値は各項目のインデックス付けに使用され、マップされた値はキーに関連付けられた値です。マップされた値が一意であるかどうかに関係なく、キーは常に一意です。 C++ でマップ要素を出力するには、反復子を使用する必要があります。項目のセット内の要素は、反復子オブジェクトによって示されます。イテレータは主に配列や他のタイプのコンテナ (ベクトルなど) で使用され、特定の範囲内の特定の要素を識別するために使用できる特定の操作セットを備えています。イテレータをインクリメントまたはデクリメントして、範囲またはコンテナ内に存在するさまざまな要素を参照できます。イテレータは、範囲内の特定の要素のメモリ位置を指します。イテレータを使用して C++ でマップを出力する まず、定義方法を見てみましょう。

Strncmp は、string.h ファイル内に存在する定義済みライブラリ関数で、2 つの文字列を比較し、どちらの文字列が大きいかを表示するために使用されます。 strcmp 関数 (文字列比較) この関数は 2 つの文字列を比較します。 2 つの文字列内の最初の不一致文字の ASCII 差異を返します。構文 intstrcmp(string1,string2); 差がゼロに等しい場合は、string1=string2 となります。差が正の場合、文字列 1 > 文字列 2 になります。差が負の場合は、string1<string2 となります。 strncmp 関数の例 この関数は、2 つの文字列の最初の n 文字を比較するために使用されます。構文 strn

論理プログラミングの問題を解決する場合、文字列または文字の使用が非常に役立つ場合があります。文字列は文字の集合であり、ASCII 値の記号を保持するために使用される 1 バイトのデータ型です。記号には、英文字、数字、または特殊文字を使用できます。この記事では、C++ を使用して文字が英語文字かアルファベット文字かを確認する方法を学びます。 isalpha() 関数のチェック 数値が文字であるかどうかをチェックするには、ctype.h ヘッダー ファイルの isalpha() 関数を使用できます。これは文字を入力として受け取り、それがアルファベットの場合は true を返し、そうでない場合は false を返します。この関数の使用法を理解するために、次の C++ 実装を見てみましょう。 Example の中国語訳は次のとおりです。
