Intructor Lab MANUAL Final
Intructor Lab MANUAL Final
LABORATORY MANUAL
Student Name:……………………………………………………
ID.No :………………………………………………………………..
Branch:……………………………..Section……………………
Year …………………………Semester………………………..
CONTENTS
Week Name of the program Page
no
a) Write a C program to find sum and average of three numbers.
b) Write a C program to find the sum of individual digits of a given
1 positive integer. 1-6
c) Write a C program to generate the first n terms of the Fibonacci sequence.
a) Write a C program to generate prime numbers between 1 to n.
b) Write a C program to Check whether given number is Armstrong Number or
2
Not. 7-12
c) Write a C program to evaluate algebraic expression (ax+b)/(ax-b).
a) Write a C program to check whether given number is perfect number or Not.
3
b) Write a C program to check whether given number is strong number or not.
13-15
a) Write a C program to find the roots of a quadratic equation.
4
b)Write a C program perform arithmetic operations using switch statement. 16-21
a) Write a C program to find factorial of a given integer using non-recursive
5 function. 22-25
b) Write a C program to find factorial of a given integer using recursive function.
a) Write C program to find GCD of two integers by using recursive function.
6 26-29
b) Write C program to find GCD of two integers using non-recursive function.
a) Write a C program to find both the largest and smallest number in a list
of integers.
7 b) Write a C Program to Sort the Array in an Ascending Order. 30-34
c) Write a C Program to find whether given matrix is symmetric or not.
8 Revision of Programs
a) Write a C program to perform addition of two matrices.
9 b)Write a C program that uses functions to perform Multiplication of Two 35-40
Matrices.
a) Write a C program to use function to insert a sub-string in to given main string
from a given position.
10 b) Write a C program that uses functions to delete n Characters from a given 41-45
position in a given string.
a) Write a C program using user defined functions to determine whether the
given string is palindrome or not.
11 b) Write a C program that displays the position or index in the main string 46-49
S where the sub string T begins, or - 1 if S doesn't contain T.
a) Write C program to count the number of lines, words and characters in a given
12 text. 50-53
b) Write a C program to find the length of the string using Pointer.
a) Write a C program to Display array elements using calloc ( ) function.
b)Write a C Program to Calculate Total and Percentage marks of a student using
13 54-55
structure.
a)Write a C program that uses functions and structures to perform the following
operations:
14 i) Reading a complex number ii) Writing a complex number 56-60
iii) Addition of two complex numbers iv) Multiplication of two complex numbers
b) Write a C program to display the contents of a file.
a) Write a C program to copy the contents of one file to another.
15
b) Write a C program to merge two files into a third file.
61-67
c) Write a C program to reverse the first n characters in a file.
Revision of Programs
16
Week 1:
1. a) Write a C program to find the sum and average of three numbers.
Algorithm:
Step 1: Start
sum←num1+num2 +num3
average ← sum/3
Step 6: Stop
1
Program: integers: %d %d",sum,average);
#include <stdio.h>
int main( )
{
int a,b,c;
float sum,average;
printf("Enter any three integers: ");
scanf("%d%d %d",&a,&b,&c);
sum = a+b+c;
average=sum/3;
printf("Sum and average of three =
%f", average);
return 0;
}
SAMPLE INPUT:
Enter any three integers:2 4 5
EXPECTED OUTPUT:
2
1. b) Write a C program to find the sum of individual digits of positive integer.
AIM:
To find the sum of individual digits of positive integer.
Description:
Summation of digits of a number
Ex: 1234
Summation =1+2+3+4=10
ALGORITHM:
Step 1: Start
Step 2: Read n
Step 3: Initialize sum ← 0
Step 4: while(n!=0)
Begin
Step 5: r←n%10
Step 6: sum←sum+r
Step 7: n←n/10
End
Step 8: Print “sum”
Step 9: Stop
FLOWCHART: Start
Read n
Sum = 0
whi Fal
le
Tr
r=n%10
sum=sum
+r n=n/10
St
3
PROGRAM:
#include<stdio.h>
#include<conio.h>
void main()
{
int n,r,sum=0;
clrscr();
printf("ENTER A POSITIVE INTEGER \n");
scanf("%d",&n);
while(n!=0)
{
r=n%10;
sum=sum+r;
n=n/10;
}
printf("THE SUMOF INDIVIDUAL DIGITS OF A POSITIVE INTEGER IS..%d",sum);
getch();
}
SAMPLE INPUT:
ENTER A POSITIVE INTEGER
5321
EXPECTED OUTPUT:
THE SUM OF INDIVIDUAL DIGITS OF A POSITIVE INTEGER IS..11
4
1).c) Fibonacci Sequence is defined as follows: the first and second terms in the sequence are
ALGORITHM:
Step 1 : Start
Step 2 : Read n
Step 3 : Initialize f0 ← 0, f1 ← 1, f ← 0
Step 4 :i=0
Step 5 : while(i<=n) do as follows
printf("%d\t",f0);
f=f0+f1;
f0=f1;
f1=f;
i=i+1;
If not goto step 7
Step 6 : Stop
FLOWCHAR
St
f0=0,
i=0
FAL
whi
le
St TR Print
f0
Print f=f0+f
1;
f0=f1;
f1=f;
5
PROGRAM:
#include<stdio.h>
#include<conio.h>
void main()
{
int f0,f1,f,n,i;
clrscr();
printf("ENTER THE VALUE FOR n \n");
scanf("%d",&n);
f0=0;
f1=1;
printf("FIBONACCI SEQUENCE FOR THE FIRST %d TERMS:\n",n);
i=0;
while(i<n)
{
printf("%d\t",f0);
f=f0+f1;
f0=f1;
f1=f;
i=i+1;
}
}
INPUT:
ENTER THE VALUE FOR n
10
OUTPUT:
FIBONACCI SEQUENCE FOR THE FIRST 10 TERMS:
0 1 1 2 3 5 8 13 21 34
6
Week: 2
2) a) Write a C program to generate all prime numbers between 1 and n. Where n is the value supplie
Algorithm:
Step 1: start
Step 2: read n
Step 3: initialize i=1,c=0
Step 4:if i<=n goto step 5
If not goto step 10
Step 5: initialize j=1
Step 6: if j<=i do the following. If no goto step 7
i)if i%j==0 increment c
ii) increment j
iii) goto Step 6
Step 7: if c== 2 print i
Step 8: increment i
start
Step 9: goto step 4
Step 10: stop
FLOWCHART: Read n
I=1
false
I<=n
J= 1
J++
false true
fal
If
If I %
j
== 0
Output true
i
Fact
end 7
Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i,fact,j;
clrscr();
printf("enter the number:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{ fact=0;
//THIS LOOP WILL CHECK A NO TO BE PRIME NO. OR NOT.
for(j=1;j<=i;j++)
{
if(i%j==0)
fact++;
}
if(fact==2)
printf("\n %d",i);
}
getch( );
}
Output:
Enter the number : 5
2 35
Record at least 3 results
8
2) b) Write a C program to Check whether given number is Armstrong Number or Not.
Algorithm:
Armstrong number
Step 1: start
Step 2:read n
Step 3:assign sum 0,Imn,count =0
Step 4:if m>0 repeat
Step 4.1:mm/10
Step 4.2:count++
Step 4.3:until the condition fail
Step5: if I>0 repeat step 4 until condition fail
Step 5.1:remI%10
Step 5.2:sumsum+pow(rem,count)
Step 5.3:II/10
Step 6:if n=sum print Armstrong otherwise print not armstrong
Step 7:stop
9
Program:
#include <stdio.h>
int main()
{
int n, n1, rem, num=0;
printf("Enter a positive integer: ");
scanf("%d", &n);
n1=n;
while(n1!=0)
{
rem=n1%10;
num+=rem*rem*rem;
n1/=10;
}
if(num==n)
printf("%d is an Armstrong number.",n);
else
printf("%d is not an Armstrong number.",n);
}
Input:
Enter a positive integer: 371
Output:
371 is an Armstrong number.
10
2) c). Write a C program to evaluate algebraic expression (ax+b)/(ax-b)
Algorithm:
Step 1:start
Step 2:input a,b,x,s
Step 3:s=(a*x+b)/(a*x-b)
Step 4:Result s
Step 5:stop
Flow Chart:
11
Program:
#include<stdio.h>
#include<conio.h>
int main( )
{
int a,b,x;
float s;
clrscr();
printf(“enter the values of a,b,x”);
scanf(“%d %d %d”,&a,&b,&x);
s=(a*x+b)/(a*x-b);
printf(“The value of s=%f”,s);
getch();
}
1 3 2
Output:
The value of s= 5
12
Week: 3
3) a). Write a C program to check whether given number is perfect number or Not
Algorithm:
Perfect number
Step 1: read n
Step 2: assign i=1,sum=0
Step 3: while(i<n) goto step 4
Step 4: if(n%i==0)
sum=sum+i
i++
step 5: if(sum==n) print given number is perfect number otherwise not a perfect number.
Program:
#include<stdio.h>
int main()
{
int n,i=1,sum=0;
while(i<n)
{
if(n%i==0)
sum=sum+i;
i++;
}
if(sum==n)
printf("%d is a perfect number",i);
else
printf("%d is not a perfect
}
return
Input:
Enter a number:6
Output:
6 is a perfect number
13
3) b) Write a C program to check whether a number is strong number or not.
#include<stdio.h>
int main() {
int num,i,f,r,sum=0,temp;
printf("Enter a number: ");
scanf("%d",&num);
temp=num;
while(num) {
i=1,f=1;
r=num%10;
while(i<=r) {
f=f*i;
i++;
} sum=sum+f;
num=num/10;
}
if(sum==temp)
printf("%d is a strong number",temp); else
printf("%d is not a strong number",temp);
return 0;
}
Input:
Enter a number:145
14
Output:
145 is a strong number
15
Week: 4
4) a) Write a C program to find the roots of a quadratic equation.
−b ± √ b −4 ac
2
Description: roots of quadratic equation are
2a
ALGORITHM:
Step 1: Start
Step 2: Read a,b,c
Step 3: calculate disc = b*b-4*a*c
Step 4: if(disc>0)
Begin
Step 5: root1=(-b+sqrt(disc))/(2*a)
Step 6: root2=(-b-sqrt(disc))/(2*a)
Step 7: Print “Root1” , “Root2”
End
Step 8: else if(disc=0)
Begin
Step 9: root1=-b/(2*a)
Step 10: root2=root1;
Step 11: Print “Root1” , “Root2”
End
Step 12: else
Step 13: Print Roots are imaginary
Step 14: Stop
Flow Chart
PROGRAM:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
int a,b,c;
float disc,root1,root2;
float img,real;
printf("ENTER VALUES FOR a,b,c: \n");
scanf("%d%d%d",&a,&b,&c);
disc=(float)b*b-4*a*c;
if(disc>0)
{ printf("THE ROOTS ARE REAL & UNEQUAL: \n");
root1=(-b+sqrt(disc))/(2*a);
root2=(-b-sqrt(disc))/(2*a);
} printf("Root1=%f\
else if(disc==0)
n",root1); printf("Root2=
{
printf("THE ROOTS ARE REAL AND EQUAL: \n");
root1=-b/(2*a);
root2=root1;
} printf("Root1=%f\
else
n",root1); printf("Root2=
{ printf("THE ROOTS ARE IMAGINARY: \n");
disc=-disc;
img=(float)disc/2*a;
real=(float)-b/2*a;
if (img>0)
{ printf("Root1=%f + i%f\n",real,img);
printf("Root2=%f - i%f\n",real,img);
}
else
{ img=-img;
printf("Root1=%f + i%f\n",real,img);
printf("Root2=%f - i%f\n",real,img);
}
}
return 0;
}
17
INPUT:
ENTER VALUES FOR a,b,c
1 4 4
OUTPUT
The roots are equal and they are Root1 = -2 Root= -2
18
4) b). Write a C program which takes two integer operands and one operator from the use
AIM:
To perform arithmetic operations using switch statement.
Algorithm:
Step 1: Read a,b
Step 2: Print “Menu Options”
Step 3: do
Begin Step 4: Read ch
Step 5: switch(ch)
Begin Step 6:
case 1:
Begin
Calculate c = a+b
Print “c”
break;
End
case 2:
Begin
Calculate c = a-b
Print “c”
break;
End
case 3:
Begin
Calculate c = a*b
Print “c”
break;
End
case 4:
Begin
Calculate c = a/b
Print “c”
break;
End
case 5:
Begin
Calculate c = a%b
Print “c”
break;
End
default:
Print “Invalid choice”
End
19
Flowchart
Program:
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c,ch; clrscr();
printf("ENTER TWO VALUES FOR a & b\n"); scanf("%d %d",&a,&b);
while(1) {
printf("MENU OPTIONS \n");
printf("************\n");
printf("1.Addition\n");
printf("2.Subtraction\n");
printf("3.Multiplication\n");
printf("4.Division\n");
printf("5.Modulus\n");
printf(“6.Exit\n”);
printf("\n");
printf("ENTER UR CHOICE\n");
scanf("%d",&ch);
switch(ch) {
20
case 1: c=a+b;
printf("The addition of %d and %d is..%d\n",a,b,c); break;
case 2: c=a-b;
printf("The subtraction of %d and %d is..%d\n",a,b,c); break;
case 3: c=a*b;
printf("The multiplication of %d and %d is..%d\n",a,b,c); break;
case 4: c=a/b;
printf("The division of %d and %d is..%d\n",a,b,c); break;
case 5: c=a%b;
printf("The modulus of %d and %d is..%d\n",a,b,c); break;
case 6:exit(0); default:printf("INVALID CHOICE\n"); }
}
getch();
}
INPUT:
ENTER TWO VALUES FOR a & b: 20 16
OUTPUT:
MENU OPTIONS
1.Addition 2.Subtraction 3.Multiplication 4.Division 5.Modulus
6.Exit
ENTER UR CHOICE 1
The addition of 20 and 16 is..36
21
Week: 5
5) a) Write a C program to find the factorial of a given integer using non-recursive function.
AIM:
To find the factorial of a given number using non-recursive function.
ALGORITHM:
Step 1: Start
Step 2: Read n
Step 3: Call fact(n) goto step 6
Step 4: Store result in “f”
Step 5: Print “f” goto step 10
Read n
f = fact(n)
f=1
Print “f”
For i is 1 to n by Step 1
FALSE
Stop TRUE
f = f*i
22
PROGRAM:
#include<stdio.h>
#include<conio.h>
int fact(int);
void main()
{
int n,i,f;
clrscr();
printf("ENTER A VALUE FOR n:\n");
scanf("%d",&n);
f=fact(n);
printf("THE FACTORIAL OF A GIVEN NO IS..%d",f);
getch();
}
int fact(int n)
{
int i,f=1;
for(i=1;i<=n;i++)
f=f*i;
return(f);
}
INPUT:
ENTER A VALUE FOR n
5
OUTPUT:
THE FACTORIAL OF A GIVEN NUMBER IS..120
23
5) b) Write a C program to find the factorial of a given integer using recursive function.
AIM:
To find the factorial of a given number using recursive function.
ALGORITHM:
main program
Step 1: start
Step 2: read n
Step 3: call sub program as f=fact(n)
Step 4: print f value
Step 5: stop
Sub program:
Step 1: initialize the f
Step 2: if n= = 0 or n == 1 return 1 to main program if not goto step 3
Step 3: return n*fact(n-1) to main program
FLOW CHART:
Start
Fact ()
Read n
False
If n=0 || n=1
Print f
Return n to
Stop main program
24
PROGRAM:
#include<stdio.h>
#include<conio.h>
int fact(int);
void main()
{
int n,res;
clrscr();
printf("ENETR A NUMBER:\n");
scanf("%d",&n);
res=fact(n);
printf("THE FACTORIAL OF A GIVEN NUMBER IS..%d",res);
getch();
}
int fact(int n)
{
int r;
if(n==0)
return(1);
else
{
r=n*fact(n-1);
return(r);
}
}
INPUT:
ENTER A VALUE FOR n
5
OUTPUT:
THE FACTORIAL OF A GIVEN NUMBER IS..120
25
Week: 6
6) a) Write a C program to find the GCD of two given integers by using the recursive functio
Aim: To find the GCD of two given integers by using the recursive
Algorithm:
Main program:
Step 1: start
Step 2: read a,b
Step 3: call the sub program GCD(a,b) for print the value
Step 4: stop
Flow CHART:
Main Program:
Start
Read a,b
Print gcdvalue
Stop
26
Program:
#include<stdio.h>
#include<conio.h>
int gcdrecursive(int m,int n)
{
if(n>m)
return gcdrecursive(n,m);
if(n==0)
return m;
else
return gcdrecursive(n,m%n); // return to the main program
}
void main()
{
int a,b,igcd; clrscr();
printf("enter the two numbers whose gcd is to be found:");
scanf("%d%d",&a,&b);
printf("GCD of a,b is %d",gcdrecursive(a,b)); // return to the sub program getch();
}
Input:
Enter the two numbers whose gcd is to be found: 5 25
Output:
GCD of a,b is : 5
27
6) b) Write a C program to find the GCD of two given integers using non-recursive function
To find the GCD of two given integers by using the non-recursive function
Description:
GCD means Greatest Common Divisor. i.e the highest number which divides the given number
Ex: GCD(12,24) is 12
Formula: GCD= product of numbers/ LCM of numbers
Algorithm:
Step 1: start
Step 2: read a,b
Step 3: call sub program g=GCD(a,b)
Step 4: print the g value
Step 5: stop
Sub program:
Flowchart:
Program:
#include<stdio.h>
#include<conio.h>
#include<math.h>
int gcdnonrecursive(int m,int n)
{
int remainder;
28
remainder=m-(m/n*n);
if(remainder==0)
return n; else
gcdnonrecursive(n,remainder);
void main()
{
int a,b,igcd;
clrscr();
printf("enter the two numbers whose gcd is to be found:");
scanf("%d%d",&a,&b);
printf("GCD of %d",gcdnonrecursive(a,b));
getch();
}
Output:
1. enter the two numbers whose gcd is to be found:5,25
GCD of a,b is : 5
29
Week: 7
7) a) Write a C program to find both the largest and smallest number in a list of intege
AIM:
To find the largest and smallest number in a list of integers.
ALGORITHM:
Step 1: start
Step 2: read n
Step 3: initialize i=0
Step 4: if i<n do as follows. If not goto step 5
Read a[i]
Increment i
Goto step 4
Step 5: small=a[0], large=a[0]
Step 6: initialize i=0
Step 7: if i<n do as follows. If
not goto step 8
If a[i]<small
Assign small=a[i]
If a[i]>large
Assign large=a[i]
Increment i goto Step 7
Step 8: print small, large
Step 9: stop
30
Program:
#include<stdio.h>
#include<conio.h>
void main()
{ int a[10],i,n,small,large;
clrscr();
printf("Enter The Array Size:");
scanf("%d",&n);
printf("ENTER ELEMENTS OF ARRAY");
for(i=0;i<n;i++) // read the elements of an array
scanf("%d",&a[i]);
small=a[0];
large=a[0];
for(i=0;i<n;i++)// read the elements of an array
{ if(a[i]<small)// check the condition for minimum value
small=a[i];
if(a[i]>large)//check the condition for maximum value
large=a[i];
}
printf("largest value is:%d\n",large);
printf("smallest value is:%d\n",small);
getch();
}
INPUT:
Enter The Array Size:10
ENTER THE ELEMENTS OF ARRAY
7 10 9 8 6 5 2 3 4 1
OUTPUT:
largest value is : 10
smallest value is : 1
31
7) b) Write a C Program to Sort the Array in an Ascending Order.
Program:
C Program to Sort the Array in an Ascending Order
#include <stdio.h>
void main()
int i, j, a, n, number[30];
scanf("%d", &n);
scanf("%d", &number[i]);
a = number[i];
number[i] = number[j];
number[j] = a;
32
printf("The numbers arranged in ascending order are given below \n");
printf("%d\n", number[i]);
}
Output:
Enter the value of N
6
33
7) c) Write a C Program to find whether given matrix is symmetric or not.
Program:
#include<conio.h>
#include<stdio.h>
void main()
{
int a[10][10],i,j,m;
clrscr();
printf("Enter order of square matrix: ");
scanf("%d",&m);
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
printf("Enter value of a[%d][%d]: ",i,j);
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
if(a[i][j]!=a[j][i])
{
printf("\n\nMatrix is not symmetric");
getch();
exit(0);
}
}
}
printf("\n\nMatrix is symmetric");
getch();
}
Output:
Enter order of square matrix:2
Enter value of a[0][0]:12
Enter value of a[0][1]:34
Enter value of a[1][0]:34
Enter value of a[1][1]:54
Matrix is symmetric
34
Week : 9
9) a) Write a C program to perform addition of two matrices.
AIM:
To perform addition of two matrices.
ALGORITHM:
Step 1: Start
Step21: for i is 0 to 2 by step 1
for j is 0 to 2 by step 1
Step 3: Read a[i][j],b[i][j]
Step 4: goto step 2
Step 5: calculate c[i][j]=a[i][j]+b[i][j]
Step 6: goto step 2
Step 7: Print c[i][j]
Step 8: Stop
Flow Chart:
Start
F
T
c[i][j]=a[i][j]+b[i][j]
For i=0;i<3;i++
For j=0;j<3;j++
T
Print c[i][j]
Stop
35
PROGRAM:
#include<stdio.h>
#include<conio.h>
void main()
{
int a[3][3],b[3][3],c[3][3];
int i,j;
clrscr();
printf("ENTER A MATRIX\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("ENTER B MATRIX\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
scanf("%d",&b[i][j]);
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++) c[i]
[j]=a[i][j]+b[i][j];
}
printf(" After addition of two matrices :\n");
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d\t",c[i][j]);
}
printf("\n");
}
getch();
}
36
INPUT:
ENTER a MATRIX
1 2 3
4 5 6
7 8 9
ENTER b MATRIX
1 1 1
1 1 1
1 1 1
OUTPUT:
After addition of two matrices is..
2 3 4
5 6 7
8 9 10
37
9) b)Write a C program that uses functions to perform Multiplication of Two Matrices.
AIM:
To perform multiplication of two matrices.
ALGORITHM:
Step 1: Start
Step21: for i is 0 to 2 by step 1
for j is 0 to 2 by step 1
Step 3: Read a[i][j],b[i][j]
Step 4: goto step 2
Step 5: calculate c[i][j]=c[i][j]+a[i][k]*b[k][j]
Step 6: goto step 2
Step 7: Print c[i][j]
Step 8: Stop
Program:
#include<stdio.h >
#include<conio.h>
int i,j,k;
void main()
{
int a[10][10],b[10][10],c[10][10],m,n,p,q;
void mul(int x[10][10],int y[10][10],int z[10][10],int m,int n,int p,int q);
void read(int x[10][10],int m,int n);
void display(int x[10][10], int m,int n);
clrscr();
printf("Enter the size of A Mtrix (Row and Col): \n");
scanf("%d%d",&m,&n);
printf("Enter the size of B Mtrix (Row and Col): \n");
scanf("%d%d",&p,&q);
if(n!=p)
{
printf("Multiplication Not Possible\n Please re-enter\n");
printf("correct size and try again......\n");
}
else
{
read(a,m,n); read(b,m,n);
mul(a,b,c,m,n,p,q);
printf("A Matrix is :\n");
display(a,m,n);
38
printf("B Matrix is :\n");
display(b,m,n);
printf("C Matrix is :\n");
display(c,m,n);
}
getch();
}
void mul(int x[10][10],int y[10][10],int z[10][10],int m,int n,int p,int q)
{
for (i=0;i<m;i++)
for(j=0;j<q;j++)
{
z[i][j]=0;
for(k=0;k<n;k++)
z[i][j]+= x[i][k]*y[k][j];
}
39
Input:
Enter the size of A Mtrix (Row and Col): 2 2
3 4
4 2
Output:
A matrix is:
1 0
2 6
B Matrix is:
3 4
4 2
C matrix is:
3 4
24 20
40
Week: 10
10) a) Write a C program to use function to insert a sub-string in to given main string from a given position.
Aim:
To insert a string into another string from a specified position.
Flow Chart :
41
Algorithm:
Step 1: start
Step 2: read main string and sub string
Step 3: find the length of main string(r)
Step 4: find length of sub string(n)
Step 5: copy main string into sub string
Step 6: read the position to insert the sub string( p)
Step 7: copy sub string into main string from position p-1
Step 8: copy temporary string into main string from position p+n-1
Step 9: print the strings
Step 10: stop
Program:
#include<stdio.h>
#include<string.h>
main()
{
char a[3qq0],b[30],c[30];
int pos=0,i=0,l,la,lb,lc,j;
puts("Enter a string");
gets(a);
puts("Enter sub string");
gets(b);
puts("enter position for insertion");
scanf("%d",&pos);
la=strlen(a);
lb=strlen(b);
l=pos+lb;
lc=la+lb;
for(i=0;i<pos;i++)
{
c[i]=a[i];
} j=0;
for(i=pos;i<=l;i++)
{
c[i]=b[j];
j++;
} j=pos;
for(i=l;i<lc;i++)
{
c[i]=a[j];
j++;
}
c[i]='\0';
puts("String after Insertion is:");
printf("%s",c);
42
}
Input:
Enter First String:
Comer
Enter Second String:
put
Output:
Enter the position where the item has to be inserted:3
Computer
43
10) b) To delete n Characters from a given position in a given string.
Algorithm:
Step 1: start
Step 2: read string
Step 3: find the length of the string
Step 4: read the value of number of characters to be deleted and positioned
Step 5: string copy part of string from position to end, and
(position + number of characters to end)
Step 6: stop
Flow Chart:
44
Program:
#include<stdio.h>
#include<string.h>
main()
{
char a[30],c[30];
int pos=0,i=0,L,La,j,n;
puts("Enter a string");
gets(a);
puts("enter position for deletion");
scanf("%d",&pos);
puts("Enter number of characters to be deleted");
scanf("%d",&n);
La=strlen(a);
L=pos+n;
for(i=0;i<pos;i++)
{
c[i]=a[i];
} j=pos;
for(i=L;i<=La;i++)
{
c[j]=a[i];
j++;
}
puts("String after Deletion is:");
printf("%s",c);
}
Input:
Enter the string
jayapal
45
Week: 11
11) a) Write a C program using user defined functions to determine whetherthe given string is palindro
46
Program:
#include <stdio.h>
#include <string.h>
void main()
{
char string[25], reverse_string[25] = {'\0'};
int i, length = 0, flag = 0;
47
11. b) Write a C program that displays the position or index in the string S where the string
Aim: To display the position or index in the string S where the string T begins,
or - 1 if S doesn't contain T
Algorithm:
Step 1: start
Step 2: read the string and then displayed
Step 3: read the string to be searched and then displayed
Step 4: searching the string T in string S and then perform the following steps
i. found=strstr(S,T)
ii. if found print the second string is found in the first string at the
position. If not goto step 5
Step 5: print the -1
Step 6: stop
Flow Chart:
St
Read First
Display
Read string to be
searched
[
N if Y
St
4
Program:
#include<stdio.h>
#include<string.h>
#include<conio.h>
void main()
{
char s[30], t[20];
char *found;
clrscr();
/* Entering the main string */
puts("Enter the first string: ");
gets(s);
/* Entering the string whose position or index to be displayed */
puts("Enter the string to be searched: ");
gets(t);
/*Searching string t in string s */
found=strstr(s,t);
if(found)
printf("Second String is found in the First String at %d position.\n",found-s);
else
printf("-1");
getch();
}
Input:
Enter the first string:
computer
Enter the string to be seareched:
mp
Output:
Second string is found in the first string at 2 position
49
Week: 12
12) a) Write a C program to count the number of lines, words and characters in a given text.
AIM:
To count the number of lines, words and characters in a given list.
ALGORITHM:
Step 1: Start
Step 2: Read the text until an empty line
Step 3: Compare each character with newline char ‘\n’ to count no of lines
Step 4: Compare each character with tab char ‘\t\’ or space char ‘ ‘ to count no
of words
Step 5: Compare first character with NULL char ‘\0’ to find the end of text
Step 6: No of characters = length of each line of text
Step 7: Print no of lines, no of words, no of chars
Step 8: Stop.
Flow Chart:
Start
Initialize end=0,chars=0,words=0,lines=0
While End==0
true
C=0
false
If (ctr=getchar())!=’\n’
True Line[c]=’\0’
Line[c++]=ctr
true If line[0]=’\0’
Words ++
50
PROGRAM:
#include <stdio.h>
void main()
{
char line[81], ctr;
int i,c,
end = 0,
characters = 0,
words = 0,
lines = 0;
printf("TYPE ANY TEXT.\n");
printf("GIVE ONE SPACE AFTER EACH WORD.\n");
while( end == 0)
{
/* Reading a line of text */
c = 0;
while((ctr=getchar()) != '\n')
line[c++] = ctr;
line[c] = '\0';
/* counting the words in a line */
if(line[0] == '\0')
break ;
else
{
words++;
for(i=0; line[i] != '\0';i++)
if(line[i] == ' ' || line[i] == '\t')
words++;
}
/* counting lines and characters */
lines = lines +1;
characters = characters + strlen(line);
}
printf ("\n");
printf("Number of lines = %d\n", lines);
printf("Number of words = %d\n", words);
printf("Number of characters = %d\n", characters);
}
51
INPUT:
TYPE ANY TEXT
GIVE ONE SPACE AFTER EACH WORD.
Ramu is a good boy.
OUTPUT:
THE NUMBER OF CHARACTERS IN A GIVEN TEXT IS..18
THE NUMBER OF WORDS IN A GIVEN TEXT IS..5
THE NUMBER OF LINES IN A GIVEN TEXT IS..1
52
12) b) Write a C program to find the length of the string using Pointer.
Program:
#include<stdio.h>
#include<conio.h>
int string_ln(char*);
void main() {
char str[20];
int length;
clrscr();
length = string_ln(str);
printf("The length of the given string %s is : %d", str, length);
getch();
}
Input:
Enter the String : pritesh
Output:
Length of the given string pritesh is : 7
53
Week: 13
13) a) Write a C program to Display array elements using calloc( ) function.
AIM:
To write a C program to find sum of n elements entered by user. To perform this program, allocate
memory dynamically using calloc() function.
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i, n;
int *a;
a = (int*)calloc(n, sizeof(int));
printf("Enter %d numbers:\n",n);
for( i=0 ; i < n ; i++ )
{
scanf("%d",&a[i]);
}
return(0);
}
Output:
54
13) b) Write a C Program to Calculate Total and Percentage marks of a student using structure.
Program:
#include<stdio.h>
#include<conio.h>
struct student
{
int rl;
char nm[20];
int m1;
int m2;
int m3;
int t;
float per;
};
void main()
{
struct student a;
clrscr();
printf(" Enter RollNo, Name amd three sub marks\n");
scanf("%d%s%d%d%d",&a.rl,&a.nm,&a.m1,&a.m2,&a.m3);
a.t=a.m1+a.m2+a.m3;
a.per=a.t/3.0; printf("rollno=
%d\n",a.rl); printf("Name=
%sk\n",a.nm); printf("m1=
%d\n",a.m1);
printf("m2=%d\n",a.m2);
printf("m3=%d\n",a.m3);
printf("total=%d\n",a.t);
printf("per=%f\n",a.per);
getch();
}
Input:
Enter RollNo, Name and three sub marks
12 rama 30 40 50
Output:
rollno=12
Name=rama
m1=30
m2=40
m3=50
total=120
per=40.000000
55
Week: 14
ALGORITHM:
Step 1:start
Step 2: Read Two complex numbers c1 ,c2
Step 3: c3=c1+c2
Step 4:print c3
Step 5: c3=c1-c2
Step 6: print c3
Step 7: c3=c1*c2
Step 8: print c3
Step 9: c3=c1/c2
Step 10: print c3
Step 11:print c
Step 12:stop
PROGRAM:
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
struct complex
{
float real,img;
};
56
struct complex c;
printf("enter real part of complex number");
scanf("%f",&c.real);
printf("enter Imaginary part of complex number");
scanf("%f",&c.img);
return c;
}
57
{
sign='-';
} c.img=-c.img;
else
sign='+';
printf("%5f%ci%5f",c.real,sign,c.img);
int main()
{
int choice;
struct complex a,b,c;
while(1)
{
printf("\n \n"); printf("|
Menu for operation complex numbers|\n "); printf("
\n");
printf("1.Addition \n ");
printf("2.Subtraction \n ");
printf("3.Multiplication \n ");
printf("4.Division \n ");
printf("5.Clear Screen \n ");
printf("6.Exit Menu \n ");
printf("Enter Your Choice: ");
scanf("%d",&choice);
switch(choice)
{
case 1:printf("You Have Selected Addition operation on complex NUmbers\n");
printf("Enter First complex number\n");
a=read_complex();
printf("Enter Second complex Number\n");
b=read_complex();
c=add_complex(a,b);
display_complex(c);
break;
case 2:printf("You Have Selected Subtraction operation on complex NUmbers\n");
printf("Enter First complex number\n");
a=read_complex();
printf("Enter Second complex Number\n");
b=read_complex();
c=sub_complex(a,b);
display_complex(c);
break;
case 3:printf("You Have Selected Multiplication operation on complex Numbers\n");
printf("Enter First complex number\n");
a=read_complex();
printf("Enter Second complex Number\n");
b=read_complex();
58
c=mul_complex(a,b);
display_complex(c);
break;
case 4:printf("You Have Selected Division operation on complex Numbers\n");
printf("Enter First complex number\n");
a=read_complex();
printf("Enter Second complex Number\n");
b=read_complex();
c=div_complex(a,b);
display_complex(c);
break;
case 5: clrscr();
break;
case 6: exit(0);
default:printf("Invalid choice");
}
}
59
14)b) write a c program to display the contents of a file.
Program:
#include <stdio.h>
#include <conio.h>
#include<string.h>
#include <process.h>
int main()
{
FILE *fs;
char ch;
char *fname;
putchar(ch);
}
}
getch();
return 0;
}
Input:
Enter the file name :sample.txt
Output:
this is my first program
60
Week: 15
Aim:
Program which copies one file to another
Algorithm:
Step 1: Start
Step 2: read command line arguments
Step 3: check if no of arguments =3 or not. If not print invalid no of arguments
Step 4: open source file in read mode
Step 5: if NULL pointer, then print source file can not be open
Step 6: open destination file in write mode
Step 7: if NULL pointer, then print destination file can not be open
Step 8 : read a character from source file and write to destination file until EOF
Step 9: Close source file and destination file
Step 10: Stop
61
Program:
#include<stdio.h>
#include<process.h>
#include<conio.h>
void main()
{
FILE *ft,*fs;
int c=0;
clrscr();
fs=fopen("a.txt","r");
ft=fopen("b.txt","w");
if(fs==NULL)
{
printf("Source file opening error\n");
exit(1);
} else
if(ft==NULL)
{
62
printf("Target file opening error\n");
exit(1);
}
while(!feof(fs))
{
fputc(fgetc(fs),ft);
c++;
}
printf("%d bytes copied from 'a.txt' to 'b.txt'",c);
c=fcloseall();
printf("%d files closed",c);
}
INPUT:
a.txt
An array is a collection of elements of similar datatypes
OUTPUT:
57 bytes copied from ‘a.txt’ to ‘b.txt’
2 files closed
Record at least 3 results
63
15) b) Write a C program to merge two files into a third file (i.e., the contents of the first file followed by th
Program :
#include<stdio.h>
#include<conio.h>
int main()
{
FILE *fp1,*fp2,*fp3;
char file1[20],file2[20],file3[20],ch;
puts("Program to merge two files....\n");
puts("Enter first file name:");
gets(file1);
puts("Enter Second file name:");
gets(file2);
puts("Enter Destination file name:");
gets(file3); fp1=fopen(file1,"r");
fp2=fopen(file2,"r");
fp3=fopen(file3,"w");
if(fp1==NULL&&fp2==NULL)
printf("Error opening file1 and file2.....\n");
else
{
if(fp3==NULL)
printf("Error in creating destination file....\n");
else
{
while((ch=fgetc(fp1))!=EOF)
putc(ch,fp3);
while((ch=fgetc(fp2))!=EOF)
putc(ch,fp3);
}
printf("File Merging Sucessfull. . .");
fcloseall();
getch();
}
}
Record at least 3 results
64
15) c) Write a C program to reverse the first n characters in a file. (Note: The file name and n
65
Program:
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <process.h>
void main(int argc, char *argv[])
{
char a[15];
char s[20];
char n;
int k;
int j=0;
int i;
int len;
FILE *fp;
if(argc!=3)
{
puts("Improper number of arguments.");
exit(0);
}
fp = fopen(argv[1],"r");
if(fp == NULL)
{
puts("File cannot be opened.");
exit(0);
}
k=*argv[2]-48;
n = fread(a,1,k,fp);
a[n]='\0';
len=strlen(a);
for(i=len-1;i>=0;i--)
{
s[j]=a[i];
printf("%c",s[j]);
j=j+1;
}
s[j+1]='\0';
getch();
}
66
Input:
source.c
this is source
ouput.c
this is source
Output: Command line arguments
source.c ouput.c
source.c
this is source
ecruos si siht
67