Bubble Sort,Insertion Sort, Structures,Students Mark statement ,Pointers, Arithmetic operations on pointers, Files,Creating file, Reading file,Writing a text file,binary file,lab programs,c programs,example programs,c program,Bubble Sort in c,Insertion Sort in c, Structures in c,Students Mark statement in c ,Pointers in c, Arithmetic operations on pointers in c, Files in c,Creating file in c, Reading file in c,Writing a text file in c,binary file in c,lab program in c,c program,example program,c program,thiruvalluvar university,lab manual,c lab manual
2. Ex:11 Bubble Sort
#include <stdio.h>
int main()
{
int array[100], n, c, d, swap;
printf("Enter number of elementsn");
scanf("%d", &n);
printf("Enter %d integersn", n);
for (c = 0; c < n; c++)
scanf("%d", &array[c]);
for (c = 0 ; c < n - 1; c++)
{
for (d = 0 ; d < n - c - 1; d++)
{
if (array[d] > array[d+1]) /* For decreasing order use '<' instead of '>' */
{
swap = array[d];
array[d] = array[d+1];
array[d+1] = swap;
}
}
}
printf("Sorted list in ascending order:n");
for (c = 0; c < n; c++)
printf("%dn", array[c]);
return 0; }
3. OUTPUT
Enter number of elements
5
Enter 5 integers
6
3
2
1
5
Sorted list in ascending order:
1
2
3
5
6
4. Ex:12 Insertion Sort
include<stdio.h>
int main(){
int i, j, count, temp, number[25];
printf("How many numbers u are going to enter?: ");
scanf("%d",&count);
printf("Enter %d elements: ", count);
// This loop would store the input numbers in array
for(i=0;i<count;i++)
scanf("%d",&number[i]);
// Implementation of insertion sort algorithm
for(i=1;i<count;i++){
temp=number[i];
j=i-1;
while((temp<number[j])&&(j>=0)){
number[j+1]=number[j];
j=j-1;
}
number[j+1]=temp;
}
printf("Order of Sorted elements: ");
for(i=0;i<count;i++)
printf(" %d",number[i]);
return 0;
}
5. OUTPUT
How many numbers u are going to enter?: 5
Enter 5 elements: 2
1
3
9
8
Order of Sorted elements: 1 2 3 8 9
6. Ex:13 Students Mark statement
using structures
#include<stdio.h>
#include<string.h>
struct student
{
int sid;
char sname[10];
int tamil,eng,maths,science,social,tot;
float avg;
}s[10];
void main()
{
int i,n;
printf("nt Student Mark Register ");
printf("nt --------------------------------- ");
printf("n Enter the no.of Students : ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
printf("n Enter the Student Id :");
scanf("%d",&s[i].sid);
printf("n Enter the Name :");
scanf("%s",&s[i].sname);
printf("n Enter the MarksntTamiltEnglishttMathstSciencetSocialn");
scanf("n %d t %d t %d t %d t %d",&s[i].tamil,&s[i].eng,&s[i].maths,&s[i].science,&s[i].social);
s[i].tot=s[i].tamil+s[i].eng+s[i].maths+s[i].science+s[i].social;
s[i].avg=s[i].tot/5;
printf("ntSIDtSNametTAMILtENGLISHtMATHStSCINCEtSOCIAL SCIENCEtTOTALtAVERAGE ");
for(i=1;i<=n;i++)
{
printf("n t%d t %s t %d t %d t %d t %d t %d t %d t %f ",s[i].sid,s[i].sname,s[i].tamil,s[i].eng,s[i].maths,s[i].science,s[i].social,s[i].tot,s[i].avg);
}
getch();
}
}
7. OUTPUT
Student Mark Register
---------------------------------
Enter the no.of Students : 1
Enter the Student Id :1
Enter the Name :ABINAYA.S
Enter the Marks
Tamil English Maths Science Social
80 90 85 74 87
SID SName TAMIL ENGLISH MATHS SCINCE SOCIAL SCIENCE TOTAL AVERAGE
1 ABINAYA.S 80 90 85 74 87 416 83.000000
8. Ex: 14. Arithmetic operations on
pointers
#include <stdio.h>
int main()
{
int a=5,*x;
char b='z',*y;
x=&a;
printf("tttARITHMETIC OPERATIONn");
printf("INTEGER POINTER VARIABLE(*X): %dn",*x);
printf("ADDRESS OF A FROM VARIABLE(X) A: %dn",x);
x++;
printf("tttARITHMETIC OPERATION - POINTERn ADDRESS OF A AFTER INCREMENT X++:
%dn",x);
x--;
printf("ADDRESS OF A AFTER DECREMENT X-- %dn",x);
y=&b;
printf("CHARACTER POINTER VARIABLE(*Y): %dn",*y);
printf("ADRESS OF A VARIABLE(Y): %dn",y);
y++;
printf("tttARITHMETIC OPERATION - POINTERn ADDRESS OF A AFTER INCREMENT Y++:
%dn",y);
y--;
printf("ADDRESS OF A AFTER DECREMENT Y-- %dn",y);
return 0;
}
9. OUTPUT
ARITHMETIC OPERATION
INTEGER POINTER VARIABLE(*X): 5
ADDRESS OF A FROM VARIABLE(X) A: 1781813660
ARITHMETIC OPERATION - POINTER
ADDRESS OF A AFTER INCREMENT X++: 1781813664
ADDRESS OF A AFTER DECREMENT X-- 1781813660
CHARACTER POINTER VARIABLE(*Y): 122
ADRESS OF A VARIABLE(Y): 1781813659
ARITHMETIC OPERATION - POINTER
ADDRESS OF A AFTER INCREMENT Y++: 1781813660
ADDRESS OF A AFTER DECREMENT Y-- 1781813659
10. Ex:15 15. Creating/ Reading/
Writing a text/binary file
#include<stdio.h>
void main()
{
FILE *fp;
int scno,c,p,r,amount,i,n;
char name[20],filename[20];
printf("n INPUT FILE NAME n");
scanf("%s",filename);
fp=fopen(filename,"w");
printf("Input EB bill pay detailsnn");
printf("n Enter the number of members:");
scanf("%d",&n);
printf("n SCNO tNAME tCURt PREt n");
for(i=1;i<=n;i++)
{
fscanf(stdin,"n%d%s%d%d",&scno,name,&c,&p);
fprintf(fp,"n %d %s %d %d",scno,name,c,p);
}
fclose(fp);
fprintf(stdout,"nn");
fp=fopen(filename,"r");
printf("n SCNO tNAME tCUR tPRE tREA tAMOUNTn");
for(i=1;i<=n;i++)
{
fscanf(fp,"n %d %s %d %d n",&scno,&name,&c,&p);
r=c-p;
amount=r*3;
fprintf(stdout,"n %d t%s t%d t%dt %d t%d n",scno,name,c,p,r,amount);
}
fclose(fp);
getch();
11. OUTPUT
INPUT FILE NAME :
ebbill
Input EB bill pay details
Enter the number of members:2
SCNO NAME CUR PRE
1 ABINAYA 250 350
2 BALA 600 685
SCNO NAME CUR PRE REA AMOUNT
1 ABINAYA 250 350 -100 -300
2 BALA 600 685 -85 -255