C Programming – Coding Competition Programs
1. Armstrong Number
Problem Statement: Write a C program to check whether a given number is an Armstrong number
or not.
#include <stdio.h>
#include <math.h>
int main()
{
int n, temp, digits = 0;
double sum = 0;
scanf("%d", &n);
temp = n;
while (temp != 0)
{
digits++;
temp /= 10;
}
temp = n;
while (temp != 0)
{
sum += pow(temp % 10, digits);
temp /= 10;
}
if ((int)sum == n)
printf("Armstrong Number");
else
printf("Not an Armstrong Number");
return 0;
}
2. Prime Number
Problem Statement: Write a C program to check whether a number is prime or not.
#include <stdio.h>
int main()
{
int n, i, flag = 1;
scanf("%d", &n);
if (n <= 1)
flag = 0;
for (i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
flag = 0;
break;
}
}
if (flag)
printf("Prime");
else
printf("Not Prime");
return 0;
}
3. Fibonacci Using Recursion
Problem Statement: Write a C program to generate Fibonacci series using recursion.
#include <stdio.h>
int fib(int n)
{
if (n <= 1)
return n;
return fib(n - 1) + fib(n - 2);
}
int main()
{
int n, i;
scanf("%d", &n);
for (i = 0; i < n; i++)
printf("%d ", fib(i));
return 0;
}
4. GCD Using Recursion
Problem Statement: Write a C program to find GCD of two numbers using recursion.
#include <stdio.h>
int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("GCD = %d", gcd(a, b));
return 0;
}
5. Palindrome String
Problem Statement: Write a C program to check whether a string is palindrome.
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int i, len, flag = 1;
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len / 2; i++)
{
if (str[i] != str[len - i - 1])
{
flag = 0;
break;
}
}
if (flag)
printf("Palindrome");
else
printf("Not Palindrome");
return 0;
}
6. Largest Element in Array
Problem Statement: Write a C program to find the largest element in an array.
#include <stdio.h>
int main()
{
int n, i, max;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
max = arr[0];
for (i = 1; i < n; i++)
{
if (arr[i] > max)
max = arr[i];
}
printf("Largest = %d", max);
return 0;
}
7. Matrix Multiplication
Problem Statement: Write a C program to multiply two 2x2 matrices.
#include <stdio.h>
int main()
{
int a[2][2], b[2][2], c[2][2] = {0};
int i, j, k;
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
scanf("%d", &a[i][j]);
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
scanf("%d", &b[i][j]);
for (i = 0; i < 2; i++)
for (j = 0; j < 2; j++)
for (k = 0; k < 2; k++)
c[i][j] += a[i][k] * b[k][j];
for (i = 0; i < 2; i++)
{
for (j = 0; j < 2; j++)
printf("%d ", c[i][j]);
printf("\n");
}
return 0;
}
8. Count Vowels and Consonants
Problem Statement: Write a C program to count vowels and consonants in a string.
#include <stdio.h>
int main()
{
char str[100];
int i, v = 0, c = 0;
fgets(str, 100, stdin);
for (i = 0; str[i] != '\0'; i++)
{
if ((str[i] >= 'a' && str[i] <= 'z') ||
(str[i] >= 'A' && str[i] <= 'Z'))
{
if (str[i]=='a'||str[i]=='e'||str[i]=='i'||str[i]=='o'||str[i]=='u'||
str[i]=='A'||str[i]=='E'||str[i]=='I'||str[i]=='O'||str[i]=='U')
v++;
else
c++;
}
}
printf("Vowels=%d Consonants=%d", v, c);
return 0;
}
9. Linear Search
Problem Statement: Write a C program to search an element using linear search.
#include <stdio.h>
int main()
{
int n, key, i;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
scanf("%d", &key);
for (i = 0; i < n; i++)
{
if (arr[i] == key)
{
printf("Found at %d", i);
return 0;
}
}
printf("Not Found");
return 0;
}
10. Sum of Digits Using Recursion
Problem Statement: Write a C program to find sum of digits using recursion.
#include <stdio.h>
int sum(int n)
{
if (n == 0)
return 0;
return n % 10 + sum(n / 10);
}
int main()
{
int n;
scanf("%d", &n);
printf("Sum = %d", sum(n));
return 0;
}
11. Even or Odd Using Bitwise Operator
Problem Statement: Write a C program to check whether a number is even or odd using bitwise
operator.
#include <stdio.h>
int main()
{
int n;
scanf("%d", &n);
if (n & 1)
printf("Odd");
else
printf("Even");
return 0;
}
12. Remove Duplicate Elements
Problem Statement: Write a C program to remove duplicate elements from an array.
#include <stdio.h>
int main()
{
int n, i, j, k;
scanf("%d", &n);
int arr[n];
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
for (i = 0; i < n; i++)
{
for (j = i + 1; j < n; j++)
{
if (arr[i] == arr[j])
{
for (k = j; k < n - 1; k++)
arr[k] = arr[k + 1];
n--;
j--;
}
}
}
for (i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}