C- LAB Programs
C- LAB Programs
Week 1:
FLOWCHART
PROGRAM:
#include<stdio.h>
int main( )
{
int a,b,c;
int 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 integers: %d %d",sum,average);
return 0;
}
INPUT:
Enter any three integers:2 4 5
OUTPUT:
Sum and average of three integers: 11 3
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
Start
FLOWCHART:
Read n
Sum = 0
False
while
n!=0
True
r=n%10
um=sum+r
n=n/10
Print Sum
A StopC E 3
DEPARTMENT OF CSE/IT
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();
}
INPUT:
ENTER A POSITIVE INTEGER
5321
OUTPUT:
THE SUM OF INDIVIDUAL DIGITS OF A POSITIVE INTEGER IS..11
EXERCISE:
2).a) Write a C program to generate the first n terms of the Fibonacci Sequence
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
FLOWCHART: Start
f0=0, f1=1
i=0
FALSE
while
i<n
Stop TRUE
Print f0
f=f0+f1;
Print f0 f0=f1;
f1=f;
i=i+1;
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
Description:
Prime number is a number which is exactly divisible by one and itself only
Ex: 2, 3,5,7,………;
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
Step 9: goto step 4
Step 10: stop
FLOWCHART:
start
Read n
false I=1
I<=n
J=1
false true
J++
If false
If I % j
Output == 0 true
i
Fact
end
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( );
}
INPUT:
Enter the number : 5
OUTPUT:
2 35
Record at least 2 results
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
FLOWCHART:
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.
EXERCISE:
Week: 3
3) a). Write a C program to check whether given number is perfect number or Not
ALGORITHM:
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;
printf("Enter a number: ");
scanf("%d",&n); 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 number",i);
return 0;
INPUT:
Enter a number:6
OUTPUT:
6 is a perfect number
ALGORITHM:
#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
OUTPUT:
145 is a strong number
EXERCISE:
Week: 4
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:
16
DEPARTMENT OF CSE/IT
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\n",root1);
printf("Root2=%f\n",root2);
}
else if(disc==0)
{
printf("THE ROOTS ARE REAL AND EQUAL:\n");
root1=-b/(2*a);
root2=root1;
printf("Root1=%f\n",root1);
printf("Root2=%f\n",root2);
}
else
{ 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;
INPUT:
ENTER VALUES FOR a,b,c
1 4 4
OUTPUT:
THE ROOTS ARE EQUAL AND THEY ARE.. Root1=-2 Root2=-2
4) b). Write a C program which takes two integer operands and one operator from
the user, performs the operation and then prints the result.(Consider the operators
+,-,*,/,% and use Switch Statement.)
default:
Print “Invalid choice”
End
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)
{
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
ENTER UR CHOICE 2
The subtraction of 20 and 16 is..4
ENTER UR CHOICE 3
The multiplication of 20 and 16 is..320
ENTER UR CHOICE 4…
ENTER UR CHOICE 5…
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.3
Description: n!=n*(n-1)*(n-2)…..*1
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
Step 6: Begin //sub program
Initialize f ← 1
Step 7: for i is 1 to n by step 2
Step 8: Calculate f = f*i
Step 9: return “f”
End
Step 10: Stop
FLOWCHART: Start
Read n
f = fact(n)
f=1
Print “f”
For i is 1 to n by
Step 1
FALSE
Stop TRUE
f = f*i
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
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:
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
EXERCISE:
1. Program to find area and circumference of a circle using functions
2. Program to find square of a given number using function
Week: 6
6) a) Write a C program to find the GCD of two given integers by using the recursive
function
AIM: To find the Gcd of two given integers by using the recursive function
Description: The greatest common divisor (gcd) of two or more integers, when at least one of them is not
zero, is the largest positive integer that divides thenumbers without a remainder.
For example, the GCD of 8 and 12 is 4.
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
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
6) b) Write a C program to find the GCD of two given integers using non-recursive
function.
AIM: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>
int gcd(int a,int b);
int main()
{
int a,b;
int r,t;
printf("Enter any two integers");
scanf("%d%d",&a,&b);
r=gcd(a,b);
printf("GCD=%d",r);
getch();
}
int gcd(int a,int b)
{
int t,rem;
while(1)
{
if(b>a)
{
t=a;
a=b;
b=t;
}
if(b==0)
return a;
else
{
rem=a%b;
a=rem;
}
}
}
INPUT:
enter the two numbers whose gcd is to be found:5,25
OUTPUT:
GCD of a,b is : 5
Exercise:
1. Program to generate the Fibonacci series for a given element using
i) Recursive function (ii) Non-recursive function
Week: 7
7) a) Write a C program to find both the largest and smallest number in a list of integers
FLOWCHART:
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];
t = a[j]
a[j] = a[j+1]
a[j+1] = t
Increment j
Increment i
goto Step 7
Step 8: if i<n do as follows. If not goto step 9
print a[i]
Increment i
Goto step 8
Step 9: stop
FLOWCHART:
PROGRAM:
#include <stdio.h>
void main()
{
int i, j, a, n, number[30];
printf("Enter the value of n:");
scanf("%d", &n);
printf("Enter the numbers \n");
for (i = 0; i < n; ++i)
scanf("%d", &number[i]);
for (i = 0; i < n; ++i)
{
for (j = 0; j < n-1; ++j)
{
if (number[j] > number[j+1])
{
a = number[j];
number[j] = number[j+1];
number[j+1] = a;
}
}
}
printf("The numbers arranged in ascending order are given below \n");
for (i = 0; i < n; ++i)
printf("%d\n", number[i]);
}
INPUT:
Enter the value of n:4
Enter the numbers
78
3
90
456
OUTPUT:
The numbers arranged in ascending order are given below
3
78
90
456
ALGORITHM:
Step 1: Start
Step2: read row-order as m and col-order as n
for i is 0 to m by step 1
for j is 0 to n by step 1
Step 3: Read a[i][j]
Step 4: go to step 2
Step 5: compare a[i][j] with a[j][i]
Step 6: if(a[i][j]!=a[j][i]) print "Matrix is not symmetric”
go to step 9
Step 7: go to step 4
Step 8: print "Matrix is symmetric”
Step 9: Stop
PROGRAM:
#include<conio.h>
#include<stdio.h>
void main()
{
int a[10][10],i,j,m,n;
clrscr();
printf("Enter row-order and col-order of matrix: ");
scanf("%d%d",&m&n);
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
printf("Enter %d values one by one : ",i*j);
scanf("%d",&a[i][j]);
}
}
for(i=1;i<=m;i++)
{
for(j=1;j<=n;j++)
{
if(a[i][j]!=a[j][i])
{
printf("\n\nMatrix is not symmetric");
getch();
exit(0);
}
}
}
printf("\n\nMatrix is symmetric");
getch();
}
INPUT:
OUTPUT:
Matrix is symmetric
EXERCISE:
1. Program to find the sum and average of marks of a student using array
2. Program to reverse an array of integers
Week : 9
9) a) Write a C program 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: go to step 2
Step 5: calculate c[i][j]=a[i][j]+b[i][j]
Step 6: go to step 2
Step 7: Print c[i][j]
Step 8: Stop
FLOW CHART:
PROGRAM:
#include<stdio.h>
#include<conio.h>
void read_matrix(int a[5][5],int row,int col)
{
int i,j;
for(i=0;i<row;i++)
for(j=0;j<col;j++)
scanf("%d",&a[i][j]);
}
void main()
{
int a[5][5],b[5][5],c[5][5];
int i,j,p,q,r,s;
clrscr();
printf("ENTER ORDER OF A MATRIX\n");
scanf("%d%d",&p,&q);
printf("ENTER ORDER OF B MATRIX\n");
scanf("%d%d",&r,&s);
if(p==r&&q==s)
{
printf("ENTER A MATRIX\n");
read_matrix(a,p,q);
printf("ENTER B MATRIX\n");
read_matrix(b,p,q);
add_matrix(a,b,c,p,q);
}
else
{
printf("Addition not possible");
}
getch();
}
INPUT:
AIM:
To perform multiplication of two matrices.
Description: Consider two matrices and their order is R1xC1 and R2XC2.
The condition is C1==R2 ,then only the multiplication is possible.
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 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];
}
}
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();
INPUT:
Enter the size of A Mtrix (Row and Col): 2 2
Enter the size of B Mtrix (Row and Col): 2 2
Enter Matrix Value Row by Row
1 0
2 6
Enter Matrix Value Row by Row
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
EXERCISE:
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.
Description: Consider a main string and a sub string should be included at the specified
position. Ex:”PROG” is the main string and the sub string is “RAM”, position =4,then the
output is “PROGRAM”
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
FLOW CHART :
PROGRAM:
#include<stdio.h>
#include<string.h>
main()
{
char a[30],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);
}
INPUT:
Enter First String:
Comer
Enter Second String:
put
OUTPUT:
Enter the position where the item has to be inserted:3
Computer
FLOW CHART:
Start
Start
Read a,b
Read *a,*b
t=a
a=b t=*a
b=t *a=*b
*b=t
print a,b
print *a,*b
Stop
Stop
PROGRAM:
(i)c program to swap using call by value
#include<stdio.h>
#include<conio.h>
int swap(int , int); // Declaration of function
void main( )
{
int a = 10, b = 20 ; // call by value
swap(a,b); // a and b are actual parameters
printf ( "\na = %d b = %d", a, b ) ;
getch();
}
int swap( int x, int y ) // x and y are formal parameters
{
int t ;
t=x;
x=y;
y=t;
printf ( "\nx = %d y = %d", x, y ) ;
}
OUTPUT :
x=20 y=10
a=10 b=20
Record at least 2 results
Program:
#include <stdio.h>
void swap(int *a,int *b);
int main()
{
int num1,num2;
printf("Enter any Two Integers:");
scanf("%d%d",&num1,&num2);
swap(&num1,&num2);
printf("Number1 = %d\n",num1);
printf("Number2 = %d",num2);
return 0;
}
void swap(int *a,int *b)
{
int temp;
temp=*a;
*a=*b;
*b=temp;
}
INPUT:
Enter any Two Integers: 5 10
OUTPUT:
Number1 = 10
Number2 = 5
Record at least 2results
EXERCISE:
1. Program to convert the given string of lower case to upper case
2. Program to reverse a string using strrev()
Week: 11
11) a) Write a C program using user defined functions to determine whether the given string
is palindrome or not.
ALGORITHM:
Step 1: start
Step 2: read string A
Step 3: copy string A into B
Step 4: reverse string B
Step 5: compare A &B
If A equals B to got step 6
Else goto step 7
Step 6:print given string A is palindrome
Step 7:print given string is not palindrome
Step 8: stop
FLOW CHART:
PROGRAM:
#include <stdio.h>
#include <string.h>
int main()
{
char string[25], reverse_string[25] = {'\0'};
int i, length = 0, flag = 0;
printf("Enter a string \n");
gets(string);
for (i = 0; string[i] != '\0'; i++)
{
length++;
}
printf("The length of the string '%s' = %d\n", string, length);
for (i = length - 1; i >= 0 ; i--)
{
reverse_string[length - i - 1] = string[i];
}
for (flag = 1, i = 0; i < length ; i++)
{
if (reverse_string[i] != string[i])
flag = 0;
}
if (flag == 1)
printf ("%s is a palindrome \n", string);
else
printf("%s is not a palindrome \n", string);
return 0;
}
INPUT:
Enter a string
madam
OUTPUT:
The length of the string 'madam' = 5
madam is a palindrome
Record at least 2 results
11. b) Write a C program that displays the position or index in the string S where the
string T begins, or - 1 if S doesn't contain T.
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:
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
EXERCISE:
1. Read two strings and write a C program for finding whether the both strings are equal or not?
2. Program to swap two strings using strcpy()
Week: 12
12) a) Write a C program to count the lines, words and characters in a given text
AIM:
To count the number of lines, words and characters in a given list.
Description: If some number of lines of data is given ,then number of lines, words and characters are
found by considering null character, white space and index of the array.
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:
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);
}
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
12) b) Write a C program to find the length of the string using Pointer.
Step 1:start
Step 2:read string
Step 3: count=0;i=0
Step 4: if string[i]!=‟\0‟
count:= count +1
i:=i+1
step 5:print count
step 6 stop
FLOWCHART:
PROGRAM:
#include<stdio.h>
#include<conio.h>
int string_Len(char*);
void main()
{
char str[20];
int length;
clrscr();
printf("\nEnter any string : ");
gets(str);
INPUT:
Enter the String : mrcet
OUTPUT:
Length of the given string mrcet is : 5
EXERCISE:
1. Program to print value of a variable through pointer and pointer to pointer
2. Program using pointer to find sum of all elements stored in an array
Week: 13
13) a) Write a C Program to Calculate Total and Percentage marks of a student using structure.
AIM: C Program to Calculate Total and Percentage marks of a student using structure.
Description: The list of marks of a student are read and total is calculated and percentage is
obtained.
Ex: total=m1+m2+m3,percentage=total/max-marks*100
ALGORITHM:
Step1: start
step2: Create a structure with a name STUDENT
step3: Include members like M1,M2,M3… within STUDENT
step4: Declare a structure variable to access the member of STUDENT
step5: read the structure members
step6:calculate total
step7:calculate percentage
step8:print the structure members
step7:stop
PROGRAM:
#include<stdio.h>
#include<conio.h>
struct student
{
int rl;
char nm[20];
int m1;
int m2;
int m3;
int t;
int max_marks ;
float per;
};
void main()
{
struct student a;
clrscr();
printf(" Enter RollNo, Name, three sub-marks, and max-marks in order \n");
scanf("%d%s%d%d%d%d",&a.rl,&a.nm,&a.m1,&a.m2,&a.m3,&a.max_marks);
a.t=a.m1+a.m2+a.m3;
a.per=a.t/max_marks*100;
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:
OUTPUT:
Rollno:12
Name:XYZ
m1: 30
m2: 40
m3: 50
total: 120
per: 40.000000
EXERCISE: