0% found this document useful (0 votes)
9 views32 pages

Sathish

The document outlines a series of C programming laboratory exercises, including programs for calculating the area and circumference of a circle, simple interest, determining the largest of three numbers, checking for leap years, Armstrong numbers, palindromes, and generating various patterns. Each exercise includes an aim, algorithm, program code, output, and a result confirming successful execution. The document serves as a comprehensive guide for students in a programming course at St. Joseph Institute of Technology.

Uploaded by

spmathu347
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views32 pages

Sathish

The document outlines a series of C programming laboratory exercises, including programs for calculating the area and circumference of a circle, simple interest, determining the largest of three numbers, checking for leap years, Armstrong numbers, palindromes, and generating various patterns. Each exercise includes an aim, algorithm, program code, output, and a result confirming successful execution. The document serves as a comprehensive guide for students in a programming course at St. Joseph Institute of Technology.

Uploaded by

spmathu347
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

GE4110Programming in C Laboratory Roll Number: 24CS1322

Date:
Dear Sir / Mam,

I would like to express my sincere gratitude for the effort you have put
forth. Your dedication and hard work have not gone unnoticed, and I truly
appreciate the time and energy you have invested. Thank you for your
support and commitment.

Thanks and regards,


K. SATHISH (24CS1322)
CSE - D
Beyond Grateful,
St. Joseph Institute of Technology.
GE4110-Programming in C Laboratory 2024-2025

C Program Using Simple Statement and Expressions


Ex.No :1 Calculate Area and Circumference of Circle
Date :
Aim:
To write C program to calculate Area and Circumference of Circle.
Algorithm:
Step 1: Start
Step 2: Declare variables radius, area, circumference in float type
Step 3: Read radius of circle as radius
Step 4: Calculate area using the expression area = 3.14 * radius * radius
Step 5: Calculate circumference using the expression circumference=2*3.14*radius
Step 6: Print area and circumference
Step 7: Stop

Program:
#include<stdio.h>
int main() {
float radius, area,circumference;
printf("\nEnter the radius of Circle : ");
scanf("%f", &radius);
area = 3.14 * radius * radius;
circumference=2*3.14*radius;
printf("\nArea of Circle : %.2f", area);
printf("\nCircumference of Circle : %.2f", circumference);
return 0;
}

Output:

Enter the radius of Circle : 5 Area of


Circle : 78.50 Circumference of
Circle : 31.40

Result:

Thus, the C program to calculate Area and Circumference of Circle waswritten


executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex.No :2 Simple Interest Calculation

Date :

Aim:
To write C program to calculate simple interest.
Algorithm:

Step 1: Start
Step 2: Declare Variables for Principal amount, Rate of interest, time
Step 3: Read Principal amount, Rate of interest, time
Step 4: Calculate interest amount using the expression amt=(p*r*t)/100
Step 5: Print amt
Step 6: Stop

Program:

#include<stdio.h>
int main()
{
int p,r,t,amt;
printf("Enter Principle amount, Rate of interest & time to find simple interest: \n");
scanf("%d%d%d",&p,&r,&t);
amt=(p*r*t)/100;
printf("Simple interest = %d",amt);
return 0;
}

Output:
Enter Principle amount, Rate of interest & time to find simple interest:20000
6
2
Simple interest = 2400

Result:

Thus, the C program to calculate Simple Interest was written executed andthe output
was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Scientific Problem-Solving Using Decision Making


Ex No :3 Largest of Three number
Date:
Aim:
To find the largest of three numbers using if...else if.

Algorithm:
Step 1: Start
Step 2: Read the values of x, y and z.
Step 3: If x is greater than y and x is greater than z then print x is greatest,otherwise go to step
3.
Step 4: If y is greater than z then print y is greatest, otherwise go to step 4.
Step 5: Display z is greatest.
Step 6: Stop

Program:
#include<stdio.h>
void main()
{
int x,y,z;
printf("Enter the values for x,y and z \n");scanf("%d%d%d",&x,&y,&z);
if((x>y)&& (x>z))
printf(" %d is greatest",x);
else if (y>z)
printf ("%d is greatest",y);
else
printf("%d is greatest",z);
}
Output:
Enter the values for x, y and z25
46
22
46 is greatest

Result:
Thus, the C program to find the largest of three numbers using if...else ifwas written
executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex NO : 4 Leap Year or Not


Date :
Aim:
To find whether the given year is leap year or not.
Algorithm:
Step 1: Get the input year from the user to check for leap year.
Step 2: If the year is evenly divisible by 4, go to step 3. Otherwise, go to step 6.
Step 3: If the year is evenly divisible by 100, go to step 4. Otherwise, go to step 5.
Step 4: If the year is evenly divisible by 400, go to step 5. Otherwise, go to step 6.
Step 5: The year is a leap year (it has 366 days).
Step 6: The year is not a leap year (it has 365 days).

Program:
#include <stdio.h>
int main()
{
int year;
printf("Enter a year: ");
scanf("%d",&year);
if(year%4 == 0)
{
if( year%100 == 0)
{
// year is divisible by 400, hence the year is a leap year
if ( year%400 == 0)
printf("%d is a leap year.", year); else
printf("%d is not a leap year.", year);
}
else
printf("%d is a leap year.", year );
}
else
printf("%d is not a leap year.", year);
return 0;
}
Output:
Enter a year: 1900 1900
is not a leap year.
Result:
Thus, the C program to find whether the given year is leap year or not waswritten
executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Scientific Problem-Solving Using Looping

Ex No: 5 Armstrong Number or Not


Date :

Aim:
To check whether a given number is Armstrong number or not.

Algorithm:

Step 1: Initialize the value of res to 0.


Step 2: Read the three digit number in num variable to check for Armstrong number.
Step 3: Assign originalNum to the variable num.
Step 4: Extract the digits from the num.
Step 5: Find the cube of each digit in num and add them and store it in variable res.
Step 6: Repeat the step 5 untill the num is not equal to zero..
Step 7: Compare the res and originalNum, if it is equal display the number is an Armstrong
number, otherwise display the number is not an Armstrong number.

Program:
#include <stdio.h>
int main()
{
int num, originalNum, rem, res = 0;
printf("Enter a integer: ");
scanf("%d", &originalNum);
num = originalNum;
while (num != 0)
{
rem = num%10; res+= rem*rem*rem; num /= 10;
}
if(res == originalNum)
printf("%d is an Armstrong number.",originalNum);
else
printf("%d is not an Armstrong number.",originalNum);
return 0;
}

Output:

Enter a integer:
153
153 is an Armstrong number

Result:

Thus, the C program check whether a given number is Armstrong number or not was
written executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No: 6 Number is Palindrome


Date:

Aim:
To check whether a given number is Armstrong number or not.
Algorithm:
Step 1: Start
Step 2: Declare Variable sum, temp, num
Step 3: Read num from User
Step 4: Initialize Variable sum=0 and temp=num
Step 5: Repeat Until num>=0

rem=num %10
sum=sum * 10 +rem
num=num//10
Step 6: IF (sum==temp)
Print( " The given number is palindrome!!") ELSE
Print ("The given number is Not a palindrome!")

Step 7: Stop

Program:
#include <stdio.h>
int main() {
int n, reversed = 0, remainder, original;
printf("Enter an integer: ");
scanf("%d", &n);
original = n;
// reversed integer is stored in reversed variable

while (n != 0) {
remainder = n % 10;

reversed = reversed * 10 + remainder;

n /= 10;
}
// palindrome if orignal and reversed are equal

if (original == reversed)
printf("%d is a palindrome.", original);
else
GE4110-Programming in C Laboratory 2024-2025

printf("%d is not a palindrome.", original);


return 0;
}

Output:
Enter an integer: 1001
1001 is a palindrome.

Result:
Thus, the C program check whether a given number is Palindrome or
not was written executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Generating Different Patterns Using Multiple Control Statements


Ex No : Generating Number Pattern
Date :
Aim:
To Generate following pattern in C Programing
1
123
12345
1234567
123456789
1234567
12345
123
1
Algorithm:
Step 1: Start
Step 2: Read Number of Rows to print
Step 3: Use outer loop for maintaining Number of rows
Step 4: Use Inner Loop appropriately for required Coolum output
Step 5: Print required numbers
Step 6: Stop

Program:

#include<stdio.h>
#include<conio.h>
int main()
{
int n, x, y, k;
printf("Enter the number of rows to show number paatern: ");
scanf("%d",&n);
for(x = 1; x <= n; x++)
{
for(y = x; y <n; y++)
{
printf(" ");
}
for(k = 1; k < (x*2); k++)
{
printf("%d",k);
}
GE4110-Programming in C Laboratory 2024-2025

printf("\n");
}
for(x = 4; x >= 1; x--)
{
for(y = n; y > x; y--)
{
printf(" ");
}
for(k = 1; k < (x*2); k++)
{
printf("%d",k);
}
printf("\n");
}
return 0;
}
Output:

Enter the number of rows to show number paatern: 5 1


123
12345
1234567
123456789
1234567
12345
123
1

Result:

Thus, the C program to generate mentioned pattern was written executedand the output
was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No :8 Generating Symbol Pattern


Date :
Aim:
To Generate following pattern in C Programing
*****
****
***
**
*
**
***
****
*****

Algorithm:
Step 1: Start
Step 2: Read Number of Column to print
Step 3: Use outer loop for maintaining Number of rows
Step 4: Use Inner Loop appropriately for required Coolum output
Step 5: Print required symbol link space or *
Step 6: Stop
Program:

#include <stdio.h>
int main(void) { int
n;
printf("Enter the number of columns"); scanf("%d",&n);
for(int i=0;i<n;i++)
{
for(int j=0;j<i;j++)
{
printf(" ");
}
for(int k=1;k<=n-i;k++)
{
printf("*");
}
printf("\n");
}
GE4110-Programming in C Laboratory 2024-2025

for(int i=1;i<n;i++)
{
for(int j=1;j<n-i;j++)
{
printf(" ");
}
for(int k=1;k<=i+1;k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
Output:

Enter the number of columns 5


*****
****
***
**
*
**
***
****
*****

Result:
Thus, the C program to generate mentioned pattern was written executedand the output
was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No :9 Generating Letters Pattern


Date :
Aim:
To Generate following pattern in C Programing
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA

Algorithm:
Step 1: Start
Step 2: Read Number of lines to print
Step 3: Use outer loop for maintaining Number of rows
Step 4: Use Inner Loop appropriately for required Coolum output
Step 5: Print required letter
Step 6: Stop
Program:

#include<stdio.h>
void main()
{
int i,n,j;
printf("Enter the no of lines\n");
scanf("%d",&n);

for(i=1;i<=n;i++)
{
for(j=1;j<=n-i;j++)
{
printf(" ");
}
for(j=1;j<=i;j++)
{
printf("%c",(char)(j+64));
}
for(j=i-1;j>=1;j--)
{
printf("%c",(char)(j+64));
}
printf("\n");
}
}
GE4110-Programming in C Laboratory 2024-2025

Output:

Enter the no of lines 5


A
ABA
ABCBA
ABCDCBA
ABCDEDCBA

Result:

Thus, the C program to generate mentioned pattern was written executedand the output
was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Problem Solving Using One Dimensional Array


Ex No : 10
Finding the sum of Array Elements.
Date :
Aim:
Write C program to find sum of array elements.
Algorithm:
Step 1: Start
Step 2: Read Number of elements in the array as n
Step 3: Initialize a variable s=0 for summation purpose
Step 4: Read n elements and store it in a array called a, using for loop
Step 5: Add elements with s while reading.
Step 6: Print value of s
Step 7: Stop
Program:
#include<stdio.h>
void main()
{
int i,n, a[10],s;
printf("Enter the number of element :\n");
scanf("%d",&n);
s=0;
printf("Enter element:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
s=s+a[i];
}
printf("Sum of arrary element:%d",s);
}
Output:
Enter the number of element :
5
Enter element:
a[0]=10
a[1]=20
a[2]=30
a[3]=4
a[4]=7
Sum of arrary element:71
Result:
Thus, the C program to find sum of array elements was written executedand the output
was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No : 11 Insert an Element in an Array


Date :
Aim:
Write C program to Insert an Element in an Array.

Algorithm:
Step 1: Start
Step 2: Read Number of elements in the array as n
Step 3: Read n elements and store it in a array called a, using for loop
Step 4: Read element to be insert and position in num and pos
Step 5: From the end of the array, Using for loop start moving the elements one index
ahead till the required index reach.
Step 6: increase number of elements n by one
Step 7: Insert the element in the required index.
Step 8: Print all the elements.
Step 9: Stop

Program:
#include<stdio.h>
void main()
{
int i,n,pos,num, a[10];
printf("Enter the number of element :\n");
scanf("%d",&n);
printf("Enter element:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
printf("\nEnter the pos where the no. is to be inserted :");
scanf("%d",&pos);
printf("\nEnter the the no. is to be inserted :");
scanf("%d",&num);
for(i=n-1;i>=pos;i--)
a[i+1]=a[i];
n=n+1;
a[pos]=num;
printf("\n Display array after insertion:\n");
for(i=0;i<n;i++)
{
printf("a[%d]=%d\n",i,a[i]);
}
}
GE4110-Programming in C Laboratory 2024-2025

Output:

Enter the number of element :


5
Enter element:
a[0]=6
a[1]=8
a[2]=9
a[3]=7
a[4]=1

Enter the pos where the no. is to be inserted :2 Enter

the the no. is to be inserted :3

Display array after insertion:


a[0]=6
a[1]=8
a[2]=3
a[3]=9
a[4]=7
a[5]=1

Result:

Thus, the C program to Insert an Element in an Array was written executedand the output
was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Mathematical Problem Solving Using two Dimensional Array


Ex No : 12 Add two Matrix
Date :
Aim:

Write C program to Add two Matrix.


Algorithm:

Step 1: Start
Step 2: Declare variables m,n,p,q for storing number of rows and columns of two matrix.
Step 3: Read Number of rows and columns of first matrix as m,n
Step 4: Read Number of rows and columns of second matrix as p,q
Step 5: Check whether m==p and n==q if so go to step 6 else print matrix addition not
possible and stop the program.
Step 6: Using two nested for loop read elements of first matrix
Step 7: Using two nested for loop read elements of second matrix
Step 8: Using two nested for loop add first matrix element and second matrix element
and store it in third matrix.
Step 9: Using two nested for loop print third matrix.
Step 10: Stop.
Program:

#include<stdio.h>
#include <stdlib.h>
void main()
{
int i,j,m,n,p,q;
int a[10][10], b[10][10], c[10][10];
printf("\nEnter no of rows and column of matrixA:");
scanf("%d%d",&m,&n);
printf("\nEnter no of rows and column of matrixB:");
scanf("%d%d",&p,&q);
if(m!=p && n!=q)
{
printf("\n Matrix cannot be added.");
exit(0);
}
printf("\n Matrix can be added");
printf("\n Enter elements of matrix A:");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\n Enter elements of matrix B:");
GE4110-Programming in C Laboratory 2024-2025

for(i=0;i<p;i++)
for(j=0;j<q;j++)
scanf("%d",&b[i][j]);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
c[i][j]=a[i][j]+b[i][j];
printf("\n Display matrix A:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
printf("\n Display matrix B:\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
printf("%d\t",b[i][j]);
printf("\n");
}
printf("\n Display matrix C:\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
printf("%d\t",c[i][j]);
printf("\n");
}
}

Output:

Enter no of rows and column of matrixA:22

Enter no of rows and column of matrixB:2 2

Matrix can be added


Enter elements of matrix A:1 2
3
4

Enter elements of matrix B:5 6


7
GE4110-Programming in C Laboratory 2024-2025

Display matrix A:
1 2
3 4

Display matrix B:
5 6
7 8

Display matrix C:
6 8
10 12

Result:

Thus, the C program to Add two Matrix was written executed and theoutput was
verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No : 13 Multiply two Matrix


Date :
Aim:

Write C program to Multiply two Matrix.


Algorithm:

Step 1: Start
Step 2: Declare variables m,n,p,q for storing number of rows and columns of two matrix.
Step 3: Read Number of rows and columns of first matrix as m,n
Step 4: Read Number of rows and columns of second matrix as p,q
Step 5: Check whether n==p if so go to step 6 else print matrix multiplication notpossible and stop
the program.
Step 6: Using two nested for loop read elements of first matrix
Step 7: Using two nested for loop read elements of second matrix
Step 8: Using three nested for loop multiply first matrix element and second matrix element
and store it in third matrix.
Step 9: Using two nested for loop print third matrix.
Step 10: Stop.
Program:

#include<stdio.h>
#include <stdlib.h>
void main()
{
int i,j,m,n,p,q,k;
int a[10][10], b[10][10], c[10][10];
printf("\nEnter no of rows and column of matrixA:");
scanf("%d%d",&m,&n);
printf("\nEnter no of rows and column of matrixB:");scanf("%d%d",&p,&q);
printf("\n Enter elements of matrix A:\n");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&a[i][j]);
printf("\n Enter elements of matrix B:\n");
for(i=0;i<p;i++)
for(j=0;j<q;j++)
scanf("%d",&b[i][j]);
if(n==p)
{
for(i=0;i<m;i++)
for(j=0;j<q;j++)
GE4110-Programming in C Laboratory 2024-2025

{
c[i][j]=0;
for(k=0;k<n;k++)
c[i][j]=c[i][j]+(a[i][k]*b[k][j]);
}
}
else
{
printf("\n Matrix cannot be multiplied");
exit(1);
}
printf("\n Display matrix A:\n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
printf("%d\t",a[i][j]);
printf("\n");
}
printf("\n Display matrix B:\n");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
printf("%d\t",b[i][j]);
printf("\n");
}
printf("\n Display Product:\n");
for(i=0;i<m;i++)
{
for(j=0;j<q;j++)
printf("%d\t",c[i][j]);
printf("\n");
}
}
Output:

Enter no of rows and column of matrixA:23

Enter no of rows and column of matrixB:3 2

Enter elements of matrix A: 1


2
3
GE4110-Programming in C Laboratory 2024-2025

4
5
6

Enter elements of matrix B:


7
8
9
10
11
12

Display matrix A:
1 2 3
4 5 6

Display matrix B:
7 8
9 10
11 12

Display Product:
58 64
139 154

Result:

Thus, the C program to Multiply two Matrix was written executed and theoutput was
verified s
GE4110-Programming in C Laboratory 2024-2025

Solving Problems Using User Defined Functions


Ex No : 14 Swap Two Numbers using call by Value Method
Date :
Aim:
Write C program to Swap Two Numbers using call by Value Method.
Algorithm:
Step 1: Start
Step 2: Define a swap function such that it will accept two integer values
Step 3: Inside swap function interchange the values of both integers
Step 4: In main function Read two integers
Step 5: Call swap function using the integers read from user
Step 6: Print the value of both integers
Step 7: Stop

Program:
#include <stdio.h>
void swap(int , int);
int main()
{
int a,b;
printf("Enter Two Values:\n"); scanf("%d%d",&a,&b);
printf("Before swapping the values in main a = %d, b = %d\n",a,b);
swap(a,b);
printf("After swapping values in main a = %d, b = %d\n",a,b);
}
void swap (int a, int b)
{
int temp;
temp = a;
a=b;
b=temp;
printf("After swapping values in function a = %d, b = %d\n",a,b);
}

Output:
Enter Two Values:
10
20
Before swapping the values in main a = 10, b = 20After
swapping values in function a = 20, b = 10 After swapping
values in main a = 10, b = 20
Result:
Thus, the C program to Swap Two Numbers using call by Value Method
was written executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No : 15 Swap Two Numbers using call by Reference Method


Date :
Aim:
Write C program to Swap Two Numbers using call by Reference Method.
Algorithm:
Step 1: Start
Step 2: Define a swap function such that it will accept two integer pointers
Step 3: Inside swap function interchange the values of both integers using pointer
Step 4: In main function Read two integers
Step 5: Call swap function using the address of integers read from user
Step 6: Print the value of both integers
Step 7: Stop

Program:

#include <stdio.h> void


swap(int *, int *);
int main()
{
int a,b;
printf("Enter Two Values:\n"); scanf("%d%d",&a,&b);
printf("Before swapping the values in main a = %d, b = %d\n",a,b);
swap(&a,&b);
printf("After swapping values in main a = %d, b = %d\n",a,b);
}
void swap (int *a, int *b)
{
int temp; temp
= *a;
*a=*b;
*b=temp;
printf("After swapping values in function a = %d, b = %d\n",*a,*b);
}

Output:
Enter Two Values:
10
20
Before swapping the values in main a = 10, b = 20After
swapping values in function a = 20, b = 10 After swapping
values in main a = 20, b = 10
Result:
Thus, the C program to Swap Two Numbers using call by Reference
Method was written executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No : 16 Sort an Array of Elements using Functions


Date :

Aim:

Write C program to Sort an Array of Elements using Functions.


Algorithm:

Step 1: Start
Step 2: Define a function named mySort(), It will take a integer array and number of values in a
array as input
Step 3: Inside mySort() function Using two nested for loops check elements and swap
elements to sort array.
Step 4: Print the sorted array
Step 5: In main function declare a array
Step 6: Read total number of elements in the array as n
Step 7: Using for loop read n elements one by one
Step 8: call mySort() function to sort array
Step 9: Stop
Program:
#include<stdio.h>
void mySort(int[],int);
void main ()
{
int arr[10],n,i;
printf("Enter Number of elements in the array\n"); scanf("%d",&n);
printf("Enter Elements one by one\n");
for(i=0;i<n;i++)
scanf("%d",&arr[i]);
mySort(arr,n);
}
void mySort(int a[],int n)
{
int i, j,temp;
for(i = 0; i<n; i++)
{
for(j = i+1; j<n; j++)
{
if(a[j] < a[i])
{
temp = a[i];
a[i] = a[j];
GE4110-Programming in C Laboratory 2024-2025

a[j] = temp;
}
}
}
printf("Printing Sorted Element List ...\n");
for(i = 0; i<n; i++)
{
printf("%d\n",a[i]);
}
}
Output:

Enter Number of elements in the array 5


Enter Elements one by one 6
2
8
3
1
Printing Sorted Element List ...1
2
3
6
8

Result:
Thus, the C program to Sort an Array of Elements using Functions waswritten
executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Solving Problems using Recursive Functions

Ex No : 17 Factorial of a Number using Recursive


Date : Functions

Aim:

Write C program to find Factorial of a Number using Recursive Functions.


Algorithm:

Step 1: Start
Step 2: Read N value from user
Step 3: Call recursive function factorial(), by passing N and store the return value to fact
Step 4: In factorial() function if N==0 then return 1 else return N*factorial(N-1)
Step 5: Print fact value
Step 6: Stop

Program:

#include<stdio.h>
long factorial(int n)
{
if (n == 0)
return 1;
else
return(n * factorial(n-1));
}
void main()
{
int number;
long fact;
printf("Enter a number: ");
scanf("%d", &number);

fact = factorial(number);
printf("Factorial of %d is %ld\n", number, fact);
}

Output:
Enter a number: 6
Factorial of 6 is 720
Result:
Thus, the C program to find Factorial of a Number using RecursiveFunctions was written
executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No : 18 Fibonacci Series using Recursive Functions


Date :

Aim:

Write C program to generate Fibonacci Series using Recursive Functions.


Algorithm:

Step 1: Start
Step 2: Read Number of terms from user as n
Step 3: Using a for loop call recursive function fibonacci(), n times and each time print the
return value
Step 4: In fibonacci() function if n==0 or n==1 then return n else return fibonacci(n-1)
+ fibonacci(n-2)
Step 5: Stop
Program:

#include<stdio.h>
int fibonacci(int);
int main()
{
int n, m= 0, i;
printf("Enter Total terms:\n");
scanf("%d", &n);
printf("Fibonacci series terms are:\n");
for(i = 1; i <= n; i++)
{
printf("%d\n", fibonacci(m));
m++;
}
return 0;
}
int fibonacci(int n)
{
if(n == 0 || n == 1)
return n;
else
return(fibonacci(n-1) + fibonacci(n-2));
}
GE4110-Programming in C Laboratory 2024-2025

Output:

Enter Total terms:


10
Fibonacci series terms are:
0
1
1
2
3
5
8
13
21
34

Result:

Thus, the C program to generate Fibonacci Series using Recursive Functionswas written
executed and the output was verified successfully.
GE4110-Programming in C Laboratory 2024-2025

Ex No : 19 Tower of Hanoi using Recursive Functions


Date :

Aim:

Write C program to solve Tower of Hanoi using Recursive Functions.


Algorithm:

Step 1: Start
Step 2: Read Number of disks from user as num
Step 3: Call recursive function towers(),by passing number of disks num and nameof the
source, destination, auxiliary towers
Step 4: In towers() function if n==1 then print move disk 1 from source to destination and go to
step 8 else go to step 5
Step 5: Call recursive function towers() with arguments num-1, source, auxiliary, destination
Step 6: Print Move num from source to destination
Step 7: Call recursive function towers() with arguments num-1, auxiliary,destination, source
Step 8: Stop
Program:

#include <stdio.h>
void towers(int, char, char, char);
int main()
{
int num;
printf("Enter the number of disks : ");
scanf("%d", &num);
printf("The sequence of moves involved in the Tower of Hanoi are :\n"); towers(num,
'A', 'C', 'B');
return 0;
}
void towers(int num, char frompeg, char topeg, char auxpeg)
{
if (num == 1)
{
printf("\n Move disk 1 from peg %c to peg %c", frompeg, topeg);
return;
}
towers(num - 1, frompeg, auxpeg, topeg);
printf("\n Move disk %d from peg %c to peg %c", num, frompeg, topeg);
towers(num - 1, auxpeg, topeg, frompeg);
}
GE4110-Programming in C Laboratory 2024-2025

Output:

Enter the number of disks : 4


The sequence of moves involved in the Tower of Hanoi are :
Move disk 1 from peg A to peg B
Move disk 2 from peg A to peg C
Move disk 1 from peg B to peg C
Move disk 3 from peg A to peg B
Move disk 1 from peg C to peg A
Move disk 2 from peg C to peg B
Move disk 1 from peg A to peg B
Move disk 4 from peg A to peg C
Move disk 1 from peg B to peg C
Move disk 2 from peg B to peg A
Move disk 1 from peg C to peg A
Move disk 3 from peg B to peg C
Move disk 1 from peg A to peg B
Move disk 2 from peg A to peg C
Move disk 1 from peg B to peg C

Result:

Thus, the C program to solve Tower of Hanoi using Recursive Functionswas written
executed and the output was verified successfully.

You might also like