• 締切済み

プログラム

「一行に書かれた式(文字列)の値を求めるプログラム」 少なくとも2つの2桁までの正の整数値の加減乗除ができること。 このプログラムのやりかたがわかりません、教えてください。。

みんなの回答

回答No.3

こんにちは。  さらにヒント。C言語と仮定。 ・数字かそうでないかはisdigit関数 ・演算子の場合分けはif文でもいいし、switch case文でも ・前から順番に判別し、前の「文字」を10倍していけば望む数字が得られる ・「正負の符号は入力できません」と、仕様(問題)を拡張すること >実際のプログラムを教えてもらいたいんですが・・・  自分でやらないと力にならないんですけどね。 あなたの課題となっている言語への変換は、ご自分でお願いします。 整数型 i 整数型 j 整数型 n[2] 文字列型 str 文字型 c 表示 "「数字、演算子、数字」の式を入力してください" 入力 str 代入 n[0] に 0 代入 m[1] に 0 代入 j に 0 回る i が 0 から 長さ(str) - 1 もし 数字か(str[i]) が 真 ならば 代入 n[j] に n[j] * 10 + 変換(str[i], 数字) 他の場合 代入 c に str[i] 代入 j に j + 1 もしおわり 回るおわり 分岐 c もし '+' ならば 表示 n[0] + n[1] プログラムおわり もし '-' ならば 表示 n[0] - n[1] プログラムおわり もし '/' ならば 表示 n[0] / n[1] プログラムおわり もし '*' ならば 表示 n[0] * n[1] プログラムおわり もし その他 表示 "式が異常" プログラムおわり 分岐おわり

回答No.2

1. 入力された文字列から 数字 演算子 数字 の3つに切り分ける 2. 切り分けられた'数字'を'数値'に変換する 3. 切り分けられた演算子に応じて2つの数値に処理を施し、結果を出力する。 > 実際のプログラムを教えてもらいたいんですが・・・ それはあなたのやることです。

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

ヒントです。 1+1、1-1、1*1、・・・・99/99の計算ができるプログラムと いうことですね。 文字列解析をやって、数値Iと加減乗除の記号と数値Jに分離し、計算を実行します。 数値は1桁と2桁があるのが注意点です。

msdkuj
質問者

補足

実際のプログラムを教えてもらいたいんですが・・・

関連するQ&A