プロが教える店舗&オフィスのセキュリティ対策術

C言語の問題

1 つの文字をキーボードから入力し、その文字が 10 進数字なら"a decimal number"、 それ以外なら"not a decimal number"と表示するプログラムを作成する。
わかる人いたら教えてください。

A 回答 (7件)

#5 のバリエーション.



#include <stdio.h>
#include <ctype.h>

int main()
{
printf("%sa decimal number\n", isdigit(getchar())?"":"not ");
}

「10進数字」を isdigit でチェックするとロケールによっては変な結果になるかもしれんが, そんなことは知らん.
    • good
    • 0

ASCIIコード表で比較しろ

    • good
    • 0

#include <stdio.h>


#include <ctype.h>

int main(void) {
 printf("%s\n", isdigit(getchar()) != 0 ? "a decimal number" : "not a decimal number");
 return 0;
}
    • good
    • 0

1つの文字とは1桁という意味ですよね?


それとこれは宿題みたいなのでコード全部は教えないでヒントだけね

キーボードの文字をcharで受け取りその値が48~57なら10進数、それ以外なら10進数ではないのでif文で判定してください

もし2桁とか10桁ならfor文で1文字づつif文で判定、もし10進数以外が出たらnot a decimal numberでreturn 0、最後までfor文が終われば a decimal number

これで良いでしょうか?
    • good
    • 0

問題を考えて解くのが君に与えられた使命n筈だが



カンニングして何かメリットあるか?

そもそも丸投げってのが・・・・
    • good
    • 2

で。

質問者様は具体的に何が分からないのでしょう?
ご質問に書かれた機能を実現する処理手順(アルゴリズム)を日本語で書き表せないのか、それは出来ているがそれをC言語に翻訳出来ないのか、それとも概ねC言語に翻訳出来るがある部分が分からないのか・・・です。

処理手順がわからないのであればC言語の問題ではありません。
ある入力に対して求められる出力を行なうための手順を作成できない・・・という問題です。
そこをまず理解して対処する必要があります。

参考まで。
    • good
    • 1

私は、わかります。

    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!