数値が正・負・ゼロのどれかを判定するC言語プログラム
0より大きい数値は正の数、0より小さい数値は負の数と呼ばれます。この正負の概念は数論において極めて重要であるだけでなく、プログラミングの世界でも同様です。大小の比較や符号の判定など、多くの計算処理はこの概念を基礎として成り立っています。
入力: 0 出力: 0 はゼロです
解説
条件分岐(if文)を使うことで、任意の数値が0より大きいか、0より小さいかを順番にチェックできます。両方の条件に当てはまらない場合は、その数値がちょうど0であることになります。この仕組みにより、数値を「正」「負」「ゼロ」の3つに分類することが可能です。
サンプルコード
#include <iostream>
using namespace std;
int main() {
int n = 0;
if(n > 0) {
printf("%d is positive", n);
} else if(n < 0) {
printf("%d is negative", n);
} else {
printf("%d is zero", n);
}
return 0;
}処理の流れ
- 変数
nに判定したい数値を代入します(この例では 0)。 - まず
if(n > 0)で数値が正かどうかを確認し、条件が真なら「positive(正の数)」と出力します。 - 最初の条件が偽の場合、
else if(n < 0)で数値が負かどうかを確認し、真なら「negative(負の数)」と出力します。 - どちらの条件にも当てはまらない場合(つまり n が 0 のとき)、
elseブロックが実行され、「zero(ゼロ)」と出力されます。
実行結果
このプログラムを実行すると、変数 n の値は 0 なので、以下のように出力されます。
0 is zero
このように、if文とelse if文を組み合わせた単純な条件分岐だけで、数値の符号判定を簡単に実装できます。ユーザーからの入力を受け付ける場合は、scanf や cin を使って変数 n に値を読み込むことで、任意の数値に対応できるようになります。
-
C言語でプラス完全数(Armstrong数)を判定するプログラム
n桁の整数xが与えられたとき、その数が「プラス完全数(Plus Perfect Number)」であるかどうかを判定するのが本記事のテーマです。プラス完全数とは、各桁の数字dを桁数nでべき乗した値(dn)をすべて合計し、その合計が元の数と一致する場合を指します。この考え方は、いわゆる「Armstrong数(ナルシシスト数)」の判定とまったく同じものです。 具体例 入力:163 出力:完全数ではない 説明:1³ + 6³ + 3³ = 244 となり、163と一致しないため 入力:371 出力:完全数である 説明:3³ + 7³ + 1³ = 371 となり、元の数と一致するため 上記の例のよ
-
Pythonで数値が正・負・ゼロのどれかを判定する方法をわかりやすく解説
Pythonでは、ユーザーから入力を受け取った数値が正の数(プラス)、負の数(マイナス)、ゼロのどれに該当するかを、条件分岐を使って簡単に判定できます。この記事では、代表的な2つの実装方法——if-elif-else文を使う方法と、ネスト(入れ子)構造のif文を使う方法——をコード例とともに紹介します。方法1:if-elif-else文を使う最もシンプルで読みやすいのが、if-elif-else文による三択分岐です。条件は上から順に評価され、最初に真(True)になったブロックだけが実行されます。num = float(input(数値を入力してください: )) if num > 0: