C Examples

C Program - Check whether a Number is Positive or Negative



A number is said to be positive if it is greater than zero and it is said to be negative if it is less than zero. A number can be checked for zero, positive and negative using if, if-else, nested if-else and short-hand if-else statements.

Method 1: Using If statement

In the example below, if conditional statements are used to check whether a given number is positive or negative.

#include <stdio.h>

static void CheckNumber(double);

static void CheckNumber(double x) {
  char *message;
  if (x > 0)
    {message = "Positive number";}
  if (x == 0)
    {message = "Zero";}
  if (x < 0)
    {message = "Negative number";}
  printf("%s\n", message);
}

int main() {
  CheckNumber(5.5);
  CheckNumber(-10.8);
}

The above code will give the following output:

Positive number
Negative number

Method 2: Using If-else statement

It can also be achieved using If-else conditional statements.

#include <stdio.h>

static void CheckNumber(double);

static void CheckNumber(double x) {
  char *message;
  if (x > 0)
    {message = "Positive number";}
  else if (x == 0)
    {message = "Zero";}
  else
    {message = "Negative number";}
  printf("%s\n", message);
}

int main() {
  CheckNumber(5.5);
  CheckNumber(-10.8);
}

The above code will give the following output:

Positive number
Negative number

Method 3: Using Nested If-else statement

The above problem can also be solved using nested if-else conditional statements.

#include <stdio.h>

static void CheckNumber(double);

static void CheckNumber(double x) {
  char *message;
  if (x >= 0) {
    if (x > 0)
      {message = "Positive number";}
    else
      {message = "Zero";}
  }
  else {
    message = "Negative number";
  }
  printf("%s\n", message);
}

int main() {
  CheckNumber(5.5);
  CheckNumber(-10.8);
}

The above code will give the following output:

Positive number
Negative number

Method 4: Using Ternary Operator

Ternary operator can also be used here.

#include <stdio.h>

static void CheckNumber(double);

static void CheckNumber(double x) {
  char *message;
  message = (x > 0)? "Positive number" : 
            (x == 0)? "Zero" : "Negative number";
            
  printf("%s\n", message);
}

int main() {
  CheckNumber(5.5);
  CheckNumber(-10.8);
}

The above code will give the following output:

Positive number
Negative number