アプリ版:「スタンプのみでお礼する」機能のリリースについて

C言語のプログラムで0~10未満や、30~60未満というのはどのように書けばよいのでしょうか?
if文で使いたいのですが、わからなく困っています。

A 回答 (4件)

scanfでshort型を入力するには、



short i;
scanf("%hd", &i);

ですね。

あと、これは趣味の範疇かも知れませんが、

iが0以上10未満かどうかの判定は、

if (0 <= i && i < 10)

と書いた方が直感的に分かりやすいかと思います。
逆に、0未満または10以上であれば、

if (i < 0 || 10 <= i)

とすると分かりやすいですね。
    • good
    • 0

※コードリストが説明用で表記割愛してしまいましたが実行可能コードリストは以下です。



int main(void){
short i;

printf("数値?");
scanf("%d",&i);
if (i>=0 && i<10) printf("%d は、0 以上 10 未満 です\n",i);
else if (i>=30 && i<60) printf("%d は、30 以上 60 未満 です\n",i);
else printf("%d は、0 未満 か 10 以上 且 30 未満 か 60 以上 です\n",i);
return 0;
}
    • good
    • 0

<訂正>


scanf("%d",i);

scanf("%d",&i);
です、すみません。
    • good
    • 0

・0~10未満(0,1,…9)


・30~60未満(30,31,…59)
となるので、

short i;

printf("数値?");
scanf("%d",i);
if (i>=0 && i<10) printf("%d は、0 以上 10 未満 です\n);
else if (i>=30 && i<60) printf("%d は、30 以上 60 未満 です\n);
else printf("%d は、0 未満 か 10 以上 且 30 未満 か 60 以上 です\n);

のようになります。
つまり、数値が格納されている変数 i がある時
n以上:i>=n (n も含む)
n以下:i<=n (n も含む)
n以降:i>n (n は含まない)
n未満:i<n (n は含まない)

です。
    • good
    • 0
この回答へのお礼

迅速にご回答していただきありがとうございました。とても助かりました。

お礼日時:2007/09/28 11:59

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