ユーザーからの入力を正の値に制限し、その数値の桁数をカウントする必要があります。ユーザーは9文字までの(+/-)整数だけを入力します。cでscanfのみを使用している桁数をカウントする
私はscanf関数とfor、while、do-whileループのみを使用することができます(getcharを使用してこれを行う方法は似たようですが、scanfのみ使用できます)。私は、私は私が書くかのことを知っているstdio.hのほかの配列、または他のライブラリを使用して
をMATH.Hすることはできませんよ。
N =のscanf( "%C%C%C% c%c」、&a、&b、&c、&e、&f)。
nは、成功したscanf変換の回数をカウントします。
問題は、私がcharで入力を定義すると、ユーザーが5文字を入力しなければならないことを除いて、すべてを行います。したがって、ユーザが「55」を入力したい場合は、「5」「5」「enter」「enter」「enter」を押す必要があります。
最初の「入力」の後に移動するプログラムが必要ですが、最大9桁の数字を受け取れるように柔軟性があります。
もう一度、getcharや何か気になるものは使用できません。あなたが最初の2週間で学ぶCのちょうど本当に基本的なもの。数字
あなたはプログラムが-ve番号が入力された場合に行うには何をしたいかの数をカウントする/ 10でループに使用、その後、long int
に番号を読み取るために
ありがとう、これは私が必要なものです。負の数は「無効な入力」を促し、ループに戻ります。 – nofe
無効な入力プロンプトを表示するようにコードを更新しました。 if条件を使用することが許可されていない場合、if条件をwhileループに置き換えることは簡単です。 – Akash
if条件を使用できます。条件の後にセミコロンがあるはずですか?どうもありがとう! – nofe