C/C++ Tricky Programs (Set 1)
Post
Cancel

# C/C++ Tricky Programs (Set 1)

• ## Print text within double quotes (” “)

1 2 3 4 5 6 7 8 // CPP program to print double quotes #include<iostream> int main() { std::cout << "\"Hello World\""; return 0; } 

#### Output

1 "Hello World" 

• ## To check if two numbers are equal without using arithmetic operators or comparison operators.

The simplest solution for this is using Bitwise XOR operator (^). We know that, for two equal numbers XOR operator returns 0. We will use this trick to solve this problem.
1 2 3 4 5 6 7 8 9 10 11 12 #include<stdio.h> int main() { int x = 10; int y = 10; if ( !(x ^ y) ) printf(" x is equal to y "); else printf(" x is not equal to y "); return 0; } 

#### Output

1 x is equal to y 

• ## To Swap the values of two variables without using any extra variable.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // C++ program to check if two numbers are equal #include<iostream> int main() { int x = 10; int y = 70; x = x + y; y = x - y; x = x - y; cout << "X : " << x << "\n"; cout << "Y : " << y << "\n"; return 0; } 

#### Output

1 2 X : 70 Y : 10 

• ## Print all natural numbers upto N without using semi-colon. We use the idea of recursively calling main function.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 // CPP program to print all natural numbers upto // N without using semi-colon #include<iostream> using namespace std; int N = 10; int main() { static int x = 1; if (cout << x << " " && x++ < N && main()) { } return 0; } 

#### Output

1 1 2 3 4 5 6 7 8 9 10 

• ## Program to find Maximum and minimum of two numbers without using any loop or condition.

The simplest trick is-
1 2 3 4 5 6 7 8 9 10 11 12 // CPP program to find maximum and minimum of // two numbers without using loop and any // condition. #include<bits/stdc++.h> int main () { int a = 15, b = 20; printf("max = %d\n", ((a + b) + abs(a - b)) / 2); printf("min = %d", ((a + b) - abs(a - b)) / 2); return 0; } 

#### Output

1 2 max = 20 min = 15 

• ## Print the maximum value of an unsigned int using One’s Compliment (~) Operator in C.

Here is a trick to find maximum value of an unsigned int using one’s compliment operator:
1 2 3 4 5 6 7 8 9 10 11 12 // C program to print maximum value of // unsigned int. #include<stdio.h> int main() { unsigned int max; max = 0; max = ~max; printf("Max value : %u ", max); return 0; } 

• ## To find sum of two integers without using ‘+’ operator.

This is a very easy mathematics trick. We know that a + b = – (-a-b). So this will work as a trick for us. The simplest trick is-
1 2 3 4 5 6 7 8 9 10 11 12 13 // CPP program to print sum of two integers // withtout + #include<iostream> using namespace std; int main() { int a = 5; int b = 5; int sum = -( -a-b ); cout << sum; return 0; } 

#### Output

1 10 

• ## Program to verifies the condition inside if block.

This is a very easy mathematics trick. We know that a + b = – (-a-b). So this will work as a trick for us. The simplest trick is-
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 // CPP program to verifies the condition inside if block // It just verifies the condition inside if block, // i.e., cout << "geeks" which returns a non-zero value, // !(non-zero value) is false, hence it executes else // Hence technically it only executes else block #include<iostream> using namespace std; int main() { if (!(cout << "Hello")) cout <<" lol "; else cout << " World "; return 0; } 

#### Output

1 Hello World 

• ## Program to divide an integer by 4 without using ‘/’ operator.

One of the most efficient way to divide an integer by 4 is to use right shift operator (“>>”).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 // CPP program to divide a number by 4 // without using '/' #include<iostream> using namespace std; int main() { int n = 4; n = n >> 2; cout << n; return 0; } 

#### Output

1 1 

• ## Program to check endianness of the computer.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // C program to find if machine is little // endian or big endian. #include <stdio.h> int main() { unsigned int n = 1; char *c = (char*)&n; if (*c) printf("LITTLE ENDIAN"); else printf("BIG ENDIAN"); return 0; }