Introduction
In this article, we will explore various approaches to a c program to display numbers from 1 to n except 6 and 9.
We will delve into different strategies for implementation, allowing you to choose the one that best suits your needs. So, let’s dive in!
Also Read: 25 Interview Questions On C: A Comprehensive Guide for Success
In the realm of programming, the language C is known for its versatility and extensive capabilities.
When it comes to the task of displaying numbers within a specific range, programmers often encounter the need to exclude certain digits.
Also Read: Array of Pointers in C: A Comprehensive Guide
C Program to Display Numbers From 1 to n Except 6 and 9
To begin, let’s examine a few alternative approaches for a C program that displays numbers from 1 to a given value, while excluding the digits 6 and 9.
Also Read: Static Functions in C: A Complete Guide
Below are three different implementations to achieve this:
Approach 1: Conditional Statements
#include <stdio.h>
void displayNumbers(int n) {
int i;
for (i = 1; i <= n; i++) {
if (i != 6 && i != 9) {
printf("%d ", i);
}
}
}
int main() {
int n;
printf("Enter the value of n: ");
scanf("%d", &n);
printf("Numbers from 1 to %d except 6 and 9 are: ", n);
displayNumbers(n);
return 0;
}
This approach employs conditional statements within a for loop to iterate from 1 to the given value of n
.
Also Read: Also Read: Print Contents of File in Reverse Order in C
By checking if the current number is equal to 6 or 9, and only printing it if it does not match either of these values, we can exclude the desired digits from the output.
Approach 2: Ternary Operator
#include <stdio.h>
void displayNumbers(int n) {
int i;
for (i = 1; i <= n; i++) {
(i != 6 && i != 9) ? printf("%d ", i) : 0;
}
}
int main() {
int n;
printf("Enter the value of n: ");
scanf("%d", &n);
printf("Numbers from 1 to %d except 6 and 9 are: ", n);
displayNumbers(n);
return 0;
}
In this approach, we utilize the ternary operator (? :
) as a concise alternative to the if-else statement.
Also Read: C Program to Display a String in Capital Letters
The program checks if the current number is equal to 6 or 9. If it is not, the number is printed; otherwise, it evaluates to 0 and is skipped.
Approach 3: Bitwise Operations
#include <stdio.h>
void displayNumbers(int n) {
int i;
for (i = 1; i <= n; i++) {
if ((i & 6) && (i & 9)) {
printf("%d ", i);
}
}
}
int main() {
int n;
printf("Enter the value of n: ");
scanf("%d", &n);
printf("Numbers from 1 to %d except 6 and 9 are: ", n);
displayNumbers(n);
return 0;
}
This approach leverages bitwise operations to check if the bits representing 6 and 9 are set in the binary representation of the current number.
Also Read: Search a Character in a String Using a Pointer in C
If neither of these bits is set, the number is printed.
Implementation Details
Now that we have explored multiple approaches, let’s delve into their implementation details. Each approach utilizes a for loop to iterate from 1 to the given value of n
.
Also Read: Factorial Program in C Programming
Inside the loop, the program employs different techniques to exclude the digits 6 and 9 from the output.
In the first approach, conditional statements are used to check if the current number is equal to 6 or 9. If not, the number is printed.
Also Read: C Program To Read Two Files Simultaneously
The second approach employs the ternary operator as a shorthand way of achieving the same result.
The third approach utilizes bitwise operations to check if the bits representing 6 and 9 are set, effectively excluding numbers with those bits set from the output.
Also Read: C Language Program to Count the Number of Lowercase Letters in a Text File
FAQs about C Program to Display Numbers From 1 to n Except 6 and 9
The exclusion of the numbers 6 and 9 is a specific requirement for this program. It showcases how to display numbers from 1 to a given value while omitting certain digits.
Absolutely! If you wish to exclude numbers other than 6 and 9, you can easily modify the program. Simply adjust the conditional statements or bitwise operations to exclude the desired digits.
Yes, the program can handle large values of n
. It uses efficient techniques to iterate through the numbers and exclude specific digits, making it suitable for a wide range of inputs.
If you enter a negative value for n
, the program will execute, but it won’t display any numbers since the loop condition will be false from the beginning.
Once the program displays the numbers from 1 to n
, you can store them in an array or use them directly in subsequent calculations or operations within your C program.
The provided programs are already optimized for the given task. However, depending on your specific requirements and constraints, further optimizations might be possible. Consider exploring advanced algorithms or data structures for improved performance.
Also Read: C Program to Find the Sum of Cubes of Elements in an Array
Conclusion
In conclusion, we have explored different approaches to a C program to display numbers from 1 to n except 6 and 9.
Each approach offers its own unique implementation using conditional statements, ternary operators, or bitwise operations.
Also Read: 25 Tricky Questions on Pointers in C: Explained and Answered
By choosing the approach that aligns with your coding style and requirements, you can achieve the desired output efficiently.
Feel free to modify the programs and experiment further. Happy coding!