--- title: '『[新版C言語プログラミングレッスン 入門編』 第四章 if' author: kazu634 date: 2008-03-23 wordtwit_post_info: - 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:3867;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}' categories: - C - Programming ---
つづきだよー
#include <stdio.h> #include <stdlib.h> #define MAX_LINE 128 /* 入力行の最大長 */ int main(void); int main(void) { char buf[MAX_LINE]; int n; printf ("降水確率を入力してください。\n"); gets(buf); n = atoi(buf); printf ("降水確率は %d %%です。\n", n); if (n < || 100 < n) { printf ("降水確率は0 - 100の間ですよ。\n"); } else if (n >= 50) { printf ("傘を忘れずにね。\n"); } else { printf ("傘はいりません。\n"); } printf ("いってらっしゃい\n"); return(); }
or は「||」で表現する。
#include <stdio.h> #include <stdlib.h> #define MAX_LINE 128 /* 入力行の最大長 */ int main(void); int main(void) { char buf[MAX_LINE]; int n; printf ("現在の時刻(「時」だけでよい)を教えてください。\n"); gets(buf); n = atoi(buf); if (n < || 24 < n) { printf ("Hour must be:\n 0 <= hour <= 24\n"); } else if ( <= n && n <= 11) { printf ("おはようございます。\n"); } else if (n == 12) { printf ("お昼です。\n"); } else if (13 <= n && n <= 18) { printf ("こんにちわ。\n"); } else if (19 <= n && n <= 23) { printf ("こんばんわ。\n"); } return(); }
境界にあたる場合の条件に注意。自分の場合、「=」をつけ忘れていた。
自分は Perl のコンテクストみたいな考えの方が好きかもしれない。