録音算術問題がピットを強化します

まず、直接元の質問に添付:

問題の説明

  シミュレーション計算プログラム、順次入力コマンドは、コマンドがあります含まれていてもよい


  1.デジタル:「NUM X」が、Xが英数字のみの文字列が含まれ、これは、16進数を表す
  2演算命令を' ADD「」SUB「」 MUL「」DIV「」MOD「 それぞれ、減算、乗算、除算プロバイダをとり、分割モジュロ
  3バイナリ変換指示:」CHANGE K」、電流が16進数に変換されます。 Kバンド(2≤K≤36)
  4.出力命令:「EQUAL」、現在のバイナリ出力
  5.リセットコマンド:「CLEAR」、明確な電流


  :命令は、次の規則に従って付与される
  数字、演算命令ではありません連続バイナリ変換コマンド、出力コマンドを与え、それは連続リセット指示がすることが可能である
  最初の番号の後に演算命令を、計算に関与する数を表します。出力コマンド実行命令と演算命令とデジタル中間体を生成することなく、
  リセット指示の後の最初の数は、基準値を表します。出力コマンド実行命令、リセット命令とは、第一の中間デジタルで表示されていない
  任意の場所に表示されることがあり、バイナリ変換命令


  中間変数が非負整数であり、及び2未満^ 63演算処理。
  首都'A' 〜 'Z'で表し、10から35

入力形式

  行1:1 N、命令数
  + 1行第2..n:命令が行ごとに与えられます。スタートとして「CLEAR」への命令の特定のシーケンス、及び満足命令ルール

出力フォーマット

  結果は、シーケンス「EQUAL」得られた各時間に与えられています

サンプル入力

7
CLEAR
NUM 1024
CHANGE 2
ADDの
NUM 100000
CHANGE 8
EQUAL

サンプル出力

2040

1、現在の設定後CLEARバイナリ保持、明確な数字のみ。

図2に示すように、今度は任意の10進バイナリ負の場合、値に渡さ考慮する必要があるが、ゼロであり、コード0 ascillテキストコードでデジタルascill変換「0」C = C +に同じ必要はない;(C:桁の整数)。

3、ときのstring.Find(XX)と検索テキスト!= String.npos原因論理エラー、書き込み、NUM入力の値、例えば36進として、限りオペレータ、ADDを含む入力テキストとして、 SUB、MUL、DIV、MOD、これらの値が論理的なエラーになりますが、設定された動作モードへの操作を実行しなかったとき。ああ愚かな、プロジェクトを書くことがありませんので、正確な基本的なテキストキーワードの結果、今日の結果は、この悪い習慣マニフェスト自体を決定することである前に、正しいです。正しい姿勢は、スペースを見つけて最初にして、最初のテキストを分割し、適切なアクションが直接のstring.Findのではなく、キーワードを左に判断する必要があります。 

公開された18元の記事 ウォンの賞賛8 ビュー30000 +

おすすめ

転載: blog.csdn.net/qq_20408397/article/details/83684460