1. WAP to find square of a number using function.
#include <stdio.h>
double square(double num) {
return (num * num);
}
int main() {
int num;
double n;
printf("\n\n Function : find square of any number :\n");
printf("------------------------------------------------\n");
printf("Input any number for square : ");
scanf("%d", & num);
n = square(num);
printf("The square of %d is : %.2f\n", num, n);
return 0;
}
2. Write a C program to input two or more numbers from user and find maximum and minimum of the given numbers using functions.
/*
* C program to find maximum and minimum between two numbers using functions
*/
#include <stdio.h>
/* Function declarations */
int max(int num1, int num2);
int min(int num1, int num2);
int main() {
int num1, num2, maximum, minimum;
/* Input two numbers from user */
printf("Enter any two numbers: ");
scanf("%d%d", & num1, & num2);
maximum = max(num1, num2); // Call maximum function
minimum = min(num1, num2); // Call minimum function
printf("\nMaximum = %d\n", maximum);
printf("Minimum = %d", minimum);
return 0;
}
/**
* Find maximum between two numbers.
*/
int max(int num1, int num2) {
return (num1 > num2) ? num1 : num2;
}
/**
* Find minimum between two numbers.
*/
int min(int num1, int num2) {
return (num1 > num2) ? num2 : num1;
}
3. Write a C program to check whether a number is armstrong or not using functions.
// Armstrong Number in C Using Function
#include<stdio.h>
int armstrong(int orgnum) {
int remainder = 0;
int sum = 0;
int power = 0;
int num = orgnum;
while (num != 0) {
// remainder contains the last digit
remainder = num % 10;
power = remainder * remainder * remainder;
sum = sum + power;
num = num / 10;
}
if (sum == orgnum)
return 0;
else
return 1;
}
int main() {
int num;
// getting input from user
// and store in a variable
printf("Enter a number: ");
scanf("%d", & num);
if (armstrong(num) == 0) {
printf("%d is an Armstrong Number.", num);
} else {
printf("%d is not an Armstrong Number.", num);
}
return 0;
}
4. Write a C program to check whether a number is prime, armstrong, perfect number or not using functions.
/**
* C program to check prime, armstrong and perfect numbers using functions
*/
#include <stdio.h>
#include <math.h>
/* Function declarations */
int isPrime(int num);
int isArmstrong(int num);
int isPerfect(int num);
int main() {
int num;
printf("Enter any number: ");
scanf("%d", & num);
// Call isPrime() functions
if (isPrime(num)) {
printf("%d is Prime number.\n", num);
} else {
printf("%d is not Prime number.\n", num);
}
// Call isArmstrong() function
if (isArmstrong(num)) {
printf("%d is Armstrong number.\n", num);
} else {
printf("%d is not Armstrong number.\n", num);
}
// Call isPerfect() function
if (isPerfect(num)) {
printf("%d is Perfect number.\n", num);
} else {
printf("%d is not Perfect number.\n", num);
}
return 0;
}
/**
* Check whether a number is prime or not.
* Returns 1 if the number is prime otherwise 0.
*/
int isPrime(int num) {
int i;
for (i = 2; i <= num / 2; i++) {
/*
* If the number is divisible by any number
* other than 1 and self then it is not prime
*/
if (num % i == 0) {
return 0;
}
}
return 1;
}
/**
* Check whether a number is Armstrong number or not.
* Returns 1 if the number is Armstrong number otherwise 0.
*/
int isArmstrong(int num) {
int lastDigit, sum, originalNum, digits;
sum = 0;
originalNum = num;
/* Find total digits in num */
digits = (int) log10(num) + 1;
/*
* Calculate sum of power of digits
*/
while (num > 0) {
// Extract the last digit
lastDigit = num % 10;
// Compute sum of power of last digit
sum = sum + round(pow(lastDigit, digits));
// Remove the last digit
num = num / 10;
}
return (originalNum == sum);
}
/**
* Check whether the number is perfect number or not.
* Returns 1 if the number is perfect otherwise 0.
*/
int isPerfect(int num) {
int i, sum, n;
sum = 0;
n = num;
for (i = 1; i < n; i++) {
/* If i is a divisor of num */
if (n % i == 0) {
sum += i;
}
}
return (num == sum);
}
5. Write a function in C programming to find prime numbers using function. How to find all prime numbers between two intervals using functions.
/**
* C program to list all prime number between an interval using function.
*/
#include <stdio.h>
/* Function declarations */
int isPrime(int num);
void printPrimes(int lowerLimit, int upperLimit);
int main() {
int lowerLimit, upperLimit;
printf("Enter the lower and upper limit to list primes: ");
scanf("%d%d", & lowerLimit, & upperLimit);
// Call function to print all primes between the given range.
printPrimes(lowerLimit, upperLimit);
return 0;
}
/**
* Print all prime numbers between lower limit and upper limit.
*/
void printPrimes(int lowerLimit, int upperLimit) {
printf("All prime number between %d to %d are: ", lowerLimit, upperLimit);
while (lowerLimit <= upperLimit) {
// Print if current number is prime.
if (isPrime(lowerLimit)) {
printf("%d, ", lowerLimit);
}
lowerLimit++;
}
}
/**
* Check whether a number is prime or not.
* Returns 1 if the number is prime otherwise 0.
*/
int isPrime(int num) {
int i;
for (i = 2; i <= num / 2; i++) {
/*
* If the number is divisible by any number
* other than 1 and self then it is not prime
*/
if (num % i == 0) {
return 0;
}
}
return 1;
}
6. Write a C program to print all strong numbers between a given interval in C programming.
/**
* C program to print strong numbers in a given interval using functions
*/
#include <stdio.h>
/* Function declaration */
long long fact(int num);
void printStrongNumbers(int start, int end);
int main() {
int start, end;
/* Input start and end range */
printf("Enter the lower limit to find strong number: ");
scanf("%d", & start);
printf("Enter the upper limit to find strong number: ");
scanf("%d", & end);
printf("All strong numbers between %d to %d are: \n", start, end);
printStrongNumbers(start, end);
return 0;
}
/**
* Print all strong numbers in a given range
*/
void printStrongNumbers(int start, int end) {
long long sum;
int num;
// Iterates from start to end
while (start != end) {
sum = 0;
num = start;
// Calculate sum of factorial of digits
while (num != 0) {
sum += fact(num % 10);
num /= 10;
}
// If sum of factorial of digits equal to current number
if (start == sum) {
printf("%d, ", start);
}
start++;
}
}
/**
* Recursively find factorial of any number
*/
long long fact(int num) {
if (num == 0)
return 1;
else
return (num * fact(num - 1));
}
7. Write a function to print all Armstrong numbers between given interval in C programming.
/**
* C program to print all Armstrong numbers between a given range
*/
#include <stdio.h>
/* Function declarations */
int isArmstrong(int num);
void printArmstrong(int start, int end);
int main() {
int start, end;
/* Input lower and upper limit to of armstrong numbers */
printf("Enter lower limit to print armstrong numbers: ");
scanf("%d", & start);
printf("Enter upper limit to print armstrong numbers: ");
scanf("%d", & end);
printf("All armstrong numbers between %d to %d are: \n", start, end);
printArmstrong(start, end);
return 0;
}
/**
* Check whether the given number is armstrong number or not.
* Returns 1 if the number is armstrong otherwise 0.
*/
int isArmstrong(int num) {
int temp, lastDigit, sum;
temp = num;
sum = 0;
/* Calculate sum of cube of digits */
while (temp != 0) {
lastDigit = temp % 10;
sum += lastDigit * lastDigit * lastDigit;
temp /= 10;
}
/*
* Check if sum of cube of digits equals
* to original number.
*/
if (num == sum)
return 1;
else
return 0;
}
/**
* Print all armstrong numbers between start and end.
*/
void printArmstrong(int start, int end) {
/*
* Iterates from start to end and print the current number
* if it is armstrong
*/
while (start <= end) {
if (isArmstrong(start)) {
printf("%d, ", start);
}
start++;
}
}
8. Write a function to print all perfect numbers in a given interval in C programming. How to print all perfect numbers in a given range using functions in C program.
/**
* C program to print all perfect numbers in given range using function
*/
#include <stdio.h>
/* Function declarations */
int isPerfect(int num);
void printPerfect(int start, int end);
int main() {
int start, end;
/* Input lower and upper limit to print perfect numbers */
printf("Enter lower limit to print perfect numbers: ");
scanf("%d", & start);
printf("Enter upper limit to print perfect numbers: ");
scanf("%d", & end);
printf("All perfect numbers between %d to %d are: \n", start, end);
printPerfect(start, end);
return 0;
}
/**
* Check whether the given number is perfect or not.
* Returns 1 if the number is perfect otherwise 0.
*/
int isPerfect(int num) {
int i, sum;
/* Finds sum of all proper divisors */
sum = 0;
for (i = 1; i < num; i++) {
if (num % i == 0) {
sum += i;
}
}
/*
* If sum of proper positive divisors equals to given number
* then the number is perfect number
*/
if (sum == num)
return 1;
else
return 0;
}
/**
* Print all perfect numbers between given range start and end.
*/
void printPerfect(int start, int end) {
/* Iterates from start to end */
while (start <= end) {
if (isPerfect(start)) {
printf("%d, ", start);
}
start++;
}
}
9.Write a C program to input a number from user and find power of given number using recursion.
/**
* C program to find power of a number using recursion
*/
#include <stdio.h>
/* Power function declaration */
double pow(double base, int expo);
int main() {
double base, power;
int expo;
/* Input base and exponent from user */
printf("Enter base: ");
scanf("%lf", & base);
printf("Enter exponent: ");
scanf("%d", & expo);
// Call pow function
power = pow(base, expo);
printf("%.2lf ^ %d = %f", base, expo, power);
return 0;
}
/**
* Calculate power of any number.
* Returns base ^ expo
*/
double pow(double base, int expo) {
/* Base condition */
if (expo == 0)
return 1;
else if (expo > 0)
return base * pow(base, expo - 1);
else
return 1 / pow(base, -expo);
}
10.Write a recursive function in C programming to find sum of all natural numbers between 1 to n.
/**
* C program to find sum of natural numbers from 1 to n using recursion
*/
#include <stdio.h>
/* Function declaration */
int sumOfNaturalNumbers(int start, int end);
int main()
{
int start, end, sum;
/* Input lower and upper limit from user */
printf("Enter lower limit: ");
scanf("%d", &start);
printf("Enter upper limit: ");
scanf("%d", &end);
sum = sumOfNaturalNumbers(start, end);
printf("Sum of natural numbers from %d to %d = %d", start, end, sum);
return 0;
}
/**
* Recursively find the sum of natural number
*/
int sumOfNaturalNumbers(int start, int end)
{
if(start == end)
return start;
else
return start + sumOfNaturalNumbers(start + 1, end);
}
11. Write a recursive function in C programming to find reverse of a number. How to find reverse of a number in C programming using recursion.
/**
* C program to find reverse of any number using recursion
*/
#include <stdio.h>
#include <math.h>
/* Fuction declaration */
int reverse(int num);
int main()
{
int num, rev;
/* Input number from user */
printf("Enter any number: ");
scanf("%d", &num);
/* Call the function to reverse number */
rev = reverse(num);
printf("Reverse of %d = %d", num, rev);
return 0;
}
/**
* Recursive function to find reverse of any number
*/
int reverse(int num)
{
// Find total digits in num
int digit = (int) log10(num);
// Base condition
if(num == 0)
return 0;
return ((num%10 * pow(10, digit)) + reverse(num/10));
}
12. Write a recursive function in C to check palindrome number. How to check whether a number is palindrome or not using recursion in C program.
/**
* C program to check palindrome number using recursion
*/
#include <stdio.h>
#include <math.h>
/* Function declarations */
int reverse(int num);
int isPalindrome(int num);
int main() {
int num;
/* Input any number from user */
printf("Enter any number: ");
scanf("%d", & num);
if (isPalindrome(num) == 1) {
printf("%d is palindrome number.\n", num);
} else {
printf("%d is NOT palindrome number.\n", num);
}
return 0;
}
/**
* Function to check whether a number is palindrome or not.
* This function returns 1 if the number is palindrome otherwise 0.
*/
int isPalindrome(int num) {
/*
* Check if the given number is equal to
* its reverse.
*/
if (num == reverse(num)) {
return 1;
}
return 0;
}
/**
* Recursive function to find reverse of any number
*/
int reverse(int num) {
/* Find number of digits in num */
int digit = (int) log10(num);
/* Recursion base condition */
if (num == 0)
return 0;
return ((num % 10 * pow(10, digit)) + reverse(num / 10));
}
13. Write a recursive function to generate nth fibonacci term in C programming. How to generate nth fibonacci term in C programming using recursion.
/**
* C program to find nth Fibonacci term using recursion
*/
#include <stdio.h>
/* Function declaration */
unsigned long long fibo(int num);
int main() {
int num;
unsigned long long fibonacci;
/* Input a number from user */
printf("Enter any number to find nth fiboacci term: ");
scanf("%d", & num);
fibonacci = fibo(num);
printf("%d fibonacci term is %llu", num, fibonacci);
return 0;
}
/**
* Recursive function to find nth Fibonacci term
*/
unsigned long long fibo(int num) {
if (num == 0) //Base condition
return 0;
else if (num == 1) //Base condition
return 1;
else
return fibo(num - 1) + fibo(num - 2);
}
14. Write a recursive function in C to find GCD (HCF) of two numbers.
/**
* C program to find GCD (HCF) of two numbers using recursion
*/
#include <stdio.h>
/* Function declaration */
int gcd(int a, int b);
int main()
{
int num1, num2, hcf;
/* Input two numbers from user */
printf("Enter any two numbers to find GCD: ");
scanf("%d%d", &num1, &num2);
hcf = gcd(num1, num2);
printf("GCD of %d and %d = %d", num1, num2, hcf);
return 0;
}
/**
* Recursive approach of euclidean algorithm to find GCD of two numbers
*/
int gcd(int a, int b)
{
if(b == 0)
return a;
else
return gcd(b, a%b);
}
15. Write a recursive function in C to find factorial of a number. How to find factorial of a number using recursion in C program.
/**
* C program to find factorial of any number using recursion
*/
#include <stdio.h>
/* Function declaration */
unsigned long long fact(int num);
int main()
{
int num;
unsigned long long factorial;
/* Input an integer from user */
printf("Enter any number: ");
scanf("%d", &num);
factorial = fact(num); // Call factorial function
printf("Factorial of %d is %llu", num, factorial);
return 0;
}
/**
* Function to compute and return factorial of any number recursively.
*/
unsigned long long fact(int num)
{
// Base condition
if(num == 0)
return 1;
else
return num * fact(num - 1);
}
16. WAP to find the sum of two inetger number using function.
#include<stdio.h>
int add(int,int);
int main()
{
int a,b;
printf("\nEnter The Two Values:");
scanf("%d%d",&a,&b);
printf("\nAddition:%d",add(a,b));
return 0;
}
int add(int a,int b)
{
int c;
c=a+b;
return c;
}
17. WAP to find the greater of two number using function.
#include<stdio.h>
int biggest(int, int); // function prototype
int main()
{
int a, b;
printf("Enter 2 integer numbers\n");
scanf("%d%d", &a, &b);
// function call biggest(a, b)
printf("Biggest of %d and %d is %d\n", a, b, biggest(a, b));
return 0;
}
//function definition
int biggest(int x, int y)
{
return( x>y?x:y );
}
18. WAP to fnd value of nCr (combination) using funtion.
#include <stdio.h>
int fact(int);
void main()
{
int n,r,ncr;
printf("Enter a number n\n");
scanf("%d",&n);
printf("Enter a number r\n");
scanf("%d",&r);
ncr=fact(n)/(fact(r)*fact(n-r));
printf("Value of %dC%d = %d\n",n,r,ncr);
}
int fact(int n)
{
int i,f=1;
for(i=1;i<=n;i++)
{
f=f*i;
}
return f;
}
19. WAP to find factorial of a number using function.
#include <stdio.h>
int fact(int);
void main()
{
int no,factorial;
printf("Enter a number: \n");
scanf("%d",&no);
factorial=fact(no);
printf("The Factorial of %d is %d\n",no,factorial);
}
int fact(int n)
{
int i,f=1;
for(i=1;i<=n;i++)
{
f=f*i;
}
return f;
}