
Below is a simple C program that finds the maximum between two numbers:
#include <stdio.h>
int main() {
int num1, num2;
// Input two numbers from user
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);
// Check which number is greater
if (num1 > num2) {
printf("The maximum number is: %d\n", num1);
} else if (num2 > num1) {
printf("The maximum number is: %d\n", num2);
} else {
printf("Both numbers are equal.\n");
}
return 0;
}
Explanation:
1. Include necessary header files:
#include <stdio.h>This includes the standard input-output library which is necessary for functions like printf and scanf.
2. Declare main function:
int main() {
3. Declare variables to store the two numbers:
int num1, num2;
4. Prompt the user for input and read the numbers:
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);5. Compare the two numbers and print the maximum:
if (num1 > num2) {
printf("The maximum number is: %d\n", num1);
} else if (num2 > num1) {
printf("The maximum number is: %d\n", num2);
} else {
printf("Both numbers are equal.\n");
}
6. Return 0 to indicate successful completion of the program:
return 0;Have another way Use `Ternary Operator`
* Find the maximum between two numbers in C using the ternary operator.
#include <stdio.h>
int main() {
int num1, num2, max;
// Input two numbers from user
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);
// Use ternary operator to find the maximum number
max = (num1 > num2) ? num1 : num2;
// Print the maximum number
printf("The maximum number is: %d\n", max);
return 0;
}
Use the ternary operator to find the maximum number:
max = (num1 > num2) ? num1 : num2;The ternary operator ? : is a shorthand for the if-else statement. It evaluates the expression before the ?. If it's true, it returns the value before the :; otherwise, it returns the value after the :.
Have another way Use `Functions`
*Find the maximum between two numbers in C by using a function.
#include <stdio.h>
// Function declaration
int findMax(int a, int b);
int main() {
int num1, num2, max;
// Input two numbers from user
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);
// Call the function to find the maximum number
max = findMax(num1, num2);
// Print the maximum number
printf("The maximum number is: %d\n", max);
return 0;
}
// Function to find the maximum between two numbers
int findMax(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
1. Function declaration:
int findMax(int a, int b);This declares a function `findMax` that takes two integers as parameters and returns an integer.
2. Call the function to find the maximum number:
max = findMax(num1, num2);
3. Define the function to find the maximum between two numbers:
int findMax(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
In this approach, the `findMax` function encapsulates the logic to determine the maximum number, making the code more modular and reusable. Compile and run this program in a C compiler to see it in action.
Have another way Use `Standard Library Function`
* Find the maximum between two numbers in C by using the standard library function `fmax`
#include <stdio.h>
#include <math.h>
int main() {
double num1, num2, max;
// Input two numbers from user
printf("Enter first number: ");
scanf("%lf", &num1);
printf("Enter second number: ");
scanf("%lf", &num2);
// Use fmax function to find the maximum number
max = fmax(num1, num2);
// Print the maximum number
printf("The maximum number is: %.2f\n", max);
return 0;
}
Explanation:
1. Include necessary header files:
#include <stdio.h>
#include <math.h>
The math.h library is included to use the fmax function.
2. Declare variables to store the two numbers and the maximum:
double num1, num2, max;3. Prompt the user for input and read the numbers:
printf("Enter first number: ");
scanf("%lf", &num1);
printf("Enter second number: ");
scanf("%lf", &num2);
4. Use the fmax function to find the maximum number:
max = fmax(num1, num2);5. Print the maximum number:
printf("The maximum number is: %.2f\n", max);Note:
fmax is a function in the math library that returns the maximum of two floating-point numbers. It handles various edge cases and is optimized for performance.fmax deals with floating-point numbers, the program uses double type for the variables and scanf with %lf to read the input.Compile and run this program in a C compiler to see it in action.
Have another way Use `Standard Library Function`
* Find the maximum between two numbers in C using `pointers`
#include <stdio.h>
// Function declaration
int findMax(int* a, int* b);
int main() {
int num1, num2, max;
// Input two numbers from user
printf("Enter first number: ");
scanf("%d", &num1);
printf("Enter second number: ");
scanf("%d", &num2);
// Call the function to find the maximum number using pointers
max = findMax(&num1, &num2);
// Print the maximum number
printf("The maximum number is: %d\n", max);
return 0;
}
// Function to find the maximum between two numbers using pointers
int findMax(int* a, int* b) {
if (*a > *b) {
return *a;
} else {
return *b;
}
}
Short Explanation:
1. Function declaration:
int findMax(int* a, int* b);2. Call the function to find the maximum number using pointers:
max = findMax(&num1, &num2);3. Define the function to find the maximum between two numbers using pointers:
int findMax(int* a, int* b) {
if (*a > *b) {
return *a;
} else {
return *b;
}
}findMax function takes two pointers to integers. It compares the values at the addresses pointed to by the pointers.*a and *b expressions are used to access the values pointed to by a and b, respectively.Compile and run this program in a C compiler to see it in action. This approach demonstrates the use of pointers and can be useful in various scenarios involving memory management.