` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 1 of 25 BPOPS Lab Programs PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203] by: Dr. A. Syed Mustafa Prof. Madhusudhana DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 2 of 25 BPOPS Lab Programs HKBK COLLEGE OF E
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 3 of 25 BPOPS Lab Programs PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ]
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 4 of 25 BPOPS Lab Programs 1. Simulation of a Simple Calculator. /*Simulation of a Simple Calculator*/ #include <stdio.h> #include<conio.h> void main() { int a,b,c; char op; printf("Simple Calculatorn"); printf("Enter the Expressionn"); scanf("%d%c%d",&a,&op,&b); /* read input eg. 2+3 */ switch(op) { case '+': c=a+b; /*add 2 numbers*/ break; case '-': c=a-b; /*subtract 2 numbers*/ break; case '*': c=a*b; /*multiply 2 numbers*/ break; case '/': c=a/b; /*divide 2 numbers*/ break; case '%': c=a%b; /*find reminder of 2 numbers*/ break; default: printf("Invalid Expressionn"); } printf("%dn",c); /* display result*/ getch(); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 5 of 25 BPOPS Lab Programs 2. Compute the roots of a quadratic equation by accepting the coefficients. Print appropriate messages. #include <stdio.h> #include<conio.h> void main() { int a,b,c,d; float r,r1,r2; printf("Enter the Coefficients a,b and cn"); scanf("%d%d%d",&a,&b,&c); /* read input - ax^2+bx+c */ if(a*b*c==0) { printf("Please enter non zero valuesn"); getch(); exit(0); } /*end if*/ d=b*b-4*a*c; r=2*a; if(d==0) { printf("Roots are Real and Equaln"); r1=r2=-b/r; printf("Root 1: %.2f, Root 2: %.2fn",r1,r2); } else if(d>0) { printf("Roots are Real and Distinctn"); r1=(-b+sqrt(d))/r; r2=(-b-sqrt(d))/r; printf("Root 1: %.2f, Root 2: %.2fn",r1,r2); } else { printf("Roots are Imaginaryn"); r1=-b/r; r2=sqrt(-d)/r; printf("Root 1: %.2f+i%.2f, Root 2: %.2f-i%.2fn",r1,r2,r1,r2); } /*end else*/ getch(); }/* end main*/
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 6 of 25 BPOPS Lab Programs OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 7 of 25 BPOPS Lab Programs 3. An electricity board charges the following rates for the use of electricity: for the first 200 units 80 paise per unit: for the next 100 units 90 paise per unit: beyond 300 units Rs 1 per unit. All users are charged a minimum of Rs.100 as meter charge. If the total amount is more than Rs 400, then an additional surcharge of 15% of total amount is charged. Write a program to read the name of the user, number of units consumed and print out the charges. #include <stdio.h> #include<conio.h> void main() { int n,mc=100; float bill; char name[50]; printf("Enter the Name of the Usern"); scanf("%s",name); printf("Enter the number of units electricity consumedn"); scanf("%d",&n); if(n<=200) bill=n*0.8; else if(n<=300) bill=160+(n-200)*0.9; else if(n>300) bill=250+(n-300)*1; bill=bill+mc; /* meter charge added with bill*/ if(bill>400) bill=bill+bill*0.15; printf("Consumer Name: %sn",name); printf("No. of Units Consumed: %dn",n); printf("Total Bill Amount Rs. %.2fn",bill); getch(); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 8 of 25 BPOPS Lab Programs 4. #include <stdio.h> #include<conio.h> void main() { int n,i,j,k,m; printf("nEnter the value of n:n"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) /*print spaces*/ printf(" "); for(k=1; k<=i ; k++) /*print increment numbers*/ printf("%d ",k); for(m=i-1; m>0; m--) /*print decrement numbers*/ printf("%d ",m); printf("n"); } /*end for*/ getch(); }/* end main*/ OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 9 of 25 BPOPS Lab Programs 5. Implement Binary Search on Integers. #include <stdio.h> #include<conio.h> void main() { int a[100],n,s,e,mid,key,f=0,i; printf("nEnter the total no. of elements:n"); scanf("%d",&n); printf("nEnter the elements in ascending ordern"); for(i = 0 ; i < n ; i++) /*read all elements*/ scanf("%d",&a[i]); printf("nEnter the element to be searched:n"); scanf("%d",&key); s=0; /*start index*/ e=n-1; /*ending index*/ while(s<=e) { mid=(s+e)/2; /*middle index*/ if(key==a[mid]) /* comparing key value with middle value*/ { f=1; break; } if(key>a[mid]) s=mid+1; else e=mid-1; } /* end while*/ if(f) printf("Search Successfuln"); else printf("Search UnSuccessfuln"); getch(); }/* end main*/ OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 10 of 25 BPOPS Lab Programs 6. Implement Matrix multiplication and validate the rules of multiplication. #include <stdio.h> #include<conio.h> void main() { int a[10][10],b[10][10],c[10][10]; int m,n,p,q,i,j,k; printf("nEnter the order of the matrix A:n"); scanf("%d%d",&m,&n); printf("nEnter the order of the matrix B :n"); scanf("%d%d",&p,&q); if(n!=p) /*comparing colmof Matrix A with row of Matrix B*/ { printf("Matrix Multiplication is not possiblen"); getch(); exit(0); } /* end if*/ printf("nEnter the elements of matrix An"); for(i = 0 ; i < m ; i++) for(j = 0 ; j < n ; j++) scanf("%d",&a[i][j]); printf("nEnter the elements of matrix Bn"); 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 < q ; j++) { c[i][j]=0; for(k = 0 ; k < n ; k++) c[i][j]= c[i][j]+a[i][k]*b[k][j]; }/*end for j loop*/ printf("nMATRIX A n"); for(i = 0 ; i < m ; i++) { for(j = 0 ; j < n ; j++) printf("%dt", a[i][j]); printf("n"); }/*end for i loop*/ printf("nMATRIX B n");
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 11 of 25 BPOPS Lab Programs for(i = 0 ; i < p ; i++) { for(j = 0 ; j < q ; j++) printf("%dt", b[i][j]); printf("n"); }/*end for i loop*/ printf("nResultant MATRIXn"); for(i = 0 ; i < m ; i++) { for(j = 0 ; j < q ; j++) printf("%dt", c[i][j]); printf("n"); } /*end for i loop*/ getch(); }/* end main*/ OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 12 of 25 BPOPS Lab Programs 7. Compute sin(x)/cos(x) using Taylor series approximation. Compare your result with the built-in library function. Print both the results with appropriate inferences. /*Program to compute Sin(x) using Taylor series approximation given by Sin(x) = x -(x3/3!) + (x5/5!) - (x7/7!) + ....... Compare the result with the built- in Library function and print both the results.*/ #include<stdio.h> #include<conio.h> #include<math.h> void main() { int i,degree; float x,sum=0,term,nume,deno; printf("Enter the value of degree:"); scanf("%d",&degree); x=degree*(3.142/180);/* converting degree to radian*/ nume=x; deno=1; i=2; do { term=nume/deno; nume=-nume*x*x; /*multiply by x twice*/ deno=deno*i*(i+1); /* multiply by next and next value*/ sum=sum+term; i=i+2; }while(fabs(term)>=0.00001); /*check float absolute to 0.00001*/ printf("the sine of %d is %.2fn",degree,sum); printf("the sine function of %d is %.2f:",degree,sin(x)); getch(); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 13 of 25 BPOPS Lab Programs 8. Sort the given set of N numbers using Bubble sort. #include <stdio.h> #include<conio.h> void main() { int n,i,j,a[100],temp; printf("nEnter the total no. of elements:n"); scanf("%d",&n); printf("nEnter the elementsn"); for(i = 0 ; i < n ; i++) /*read all elements*/ scanf("%d",&a[i]); for(i = 0 ; i < n-1; i++) for(j = 0 ; j < n-i-1; j++) if(a[j] > a[j+1]) /*compare next 2 numbers*/ { temp = a[j]; /*swap 2 numbers*/ a[j] = a[j+1]; a[j+1] = temp; } printf("nThe Sorted elements aren"); for(i = 0 ; i < n ; i++) /* display all elements*/ printf("%dn",a[i]); getch(); }/* end main*/ OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 14 of 25 BPOPS Lab Programs 9. Write functions to implement string operations such as compare, concatenate, and find string length. Use the parameter passing techniques. #include<stdio.h> /* string length, concate , compare*/ #include<conio.h> int slength(char s[]) { int i; for(i=0;s[i]!=0;i++); return (i); } /*end slength*/ void concat(char s1[100],char s2[100]) { int len,i; len=slength(s1); for(i=0;s2[i]!=0;i++) s1[len+i]=s2[i]; s1[len+i]=0; }/*end concate*/ void compare(char s1[100],char s2[100]) { int l1,l2,i; l1=slength(s1); l2=slength(s2); if(l1!=l2) printf("Strings are not equaln"); else { for(i=0;i<l1;i++) if(s1[i]>s2[i]) { printf("String %s is greater than string %s1n",s1,s2); return; }/*end if*/ else if(s1[i]<s2[i]) { printf("String %s is smaller than string %s1n",s1,s2); return; }/* else if*/ printf("String %s is equal with string %sn",s1,s2); }/* else*/ }/* end compare*/
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 15 of 25 BPOPS Lab Programs void main() { char s1[100],s2[100]; int len; printf("Enter the first stringn"); gets(s1); printf("Enter the second stringn"); gets(s2); len=slength(s1); printf("Length of '%s' is %dn",s1,len); compare(s1,s2); concat(s1,s2); printf("concatenated string is %sn", s1); getch(); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 16 of 25 BPOPS Lab Programs 10. Implement structures to read, write and compute average- marks of the students, list the students scoring above and below the average marks for a class of N students. #include<stdio.h> typedef struct /* defining structure*/ { int rollno; char name[50]; float marks; }student; void main() { int n,i; float sum=0,avg; student s[50]; /* declaring 50 students*/ printf("Enter the total no of studentsn"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter the student: %d datails:n",i+1); printf("Enter the student Rollno:"); scanf("%d",&s[i].rollno); printf("Enter the student Name:"); scanf("%s",s[i].name); printf("Enter the marks:"); scanf("%f",&s[i].marks); sum=sum+s[i].marks; } avg=sum/n; printf("Student details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { printf("%dt",s[i].rollno); printf("%st",s[i].name); printf("%.2fn",s[i].marks); } printf("Average marks is %.2fn",avg); printf("Below average Students details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { if(s[i].marks<avg) { printf("%dt",s[i].rollno);
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 17 of 25 BPOPS Lab Programs printf("%st",s[i].name); printf("%.2fn",s[i].marks); } /* end if*/ } /* end for*/ printf("Above average Students details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { if(s[i].marks>avg) { printf("%dt",s[i].rollno); printf("%st",s[i].name); printf("%.2fn",s[i].marks); } /* end if*/ } /* end for*/ getch(); } /* end main*/ OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 18 of 25 BPOPS Lab Programs 11. Develop a program using pointers to compute the sum, mean and standard deviation of all elements stored in an array of N real numbers. #include<stdio.h> #include<conio.h> #include<math.h> void main() { float a[10],*ptr,mean,std,sum=0,sumstd=0; int n,i; printf("Enter the total numbersn"); scanf("%d",&n); printf("Enter the real numbersn"); for(i=0;i<n;i++) scanf("%f",&a[i]); /* Reading Input Of N Numbers*/ ptr=a; /*assigning address of array to pointer variable*/ for(i=0;i<n;i++) sum=sum + *ptr++; /* adding real numbers stored in array through pointer*/ mean=sum/n; /* finding average or mean*/ ptr=a; /*assigning address of array to pointer variable*/ for(i=0;i<n;i++) { sumstd=sumstd+pow((*ptr-mean),2); /*finding standard deviation*/ ptr++; /* incrementing pointer to fetch next value*/ } std=sqrt(sumstd/n); /*finding standard deviation*/ printf("sum=%.2fn",sum); printf("Mean=%.2fn",mean); printf("standard deviation=%.2fn",std); getch( ); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 19 of 25 BPOPS Lab Programs 12. Write a C program to copy a text file to another, read both the input file name and target file name. #include<stdio.h> #include<conio.h> void main() { char ch, fname1[50], fname2[50]; FILE *f1, *f2; printf("Enter the file name to copy its content(source file)n"); scanf("%s",fname1); printf("Enter the file name to write the copied content(target file)n"); scanf("%s",fname2); f1= fopen(fname1, "r"); if (fname1 == NULL) { printf("Can not read filen"); exit(0); } f2 = fopen(fname2, "w"); if (fname2== NULL) { fclose(f1); printf("Can not write to filen"); exit(0); } while ((ch = fgetc(f1)) != EOF) fputc(ch, f2); printf("File copied successfullyn"); fclose(f1); fclose(f2); getch( ); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 20 of 25 BPOPS Lab Programs Additional Programs 1. Write a C program to compute addition, subtraction, multiplication and division on Complex Numbers. #include<stdio.h> struct complex { float rp; float ip; }; typedef struct complex COMP; COMP readcomplex() { COMP c; printf("Enter the details of Complex number:n"); scanf("%f%f",&c.rp,&c.ip); return(c); } COMP addcomplex(COMP c1,COMP c2) { COMP c3; c3.rp=c1.rp+c2.rp; c3.ip=c1.ip+c2.ip; return c3; } COMP subcomplex(COMP c1,COMP c2) { COMP c4; c4.rp=c1.rp-c2.rp; c4.ip=c1.ip-c2.ip; return c4; } COMP multicomplex(COMP c1,COMP c2) { COMP c5; c5.rp=c1.rp*c2.rp-c1.ip*c2.ip; c5.ip=c1.rp*c2.ip+c1.ip*c2.rp; return c5; }
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 21 of 25 BPOPS Lab Programs COMP dividecomplex(COMP c1,COMP c2) { COMP c6; c6.rp=(c1.rp*c2.rp+c1.ip*c2.ip)/(c2.rp*c2.rp+c2.ip*c2.ip); c6.ip=(c2.rp*c1.ip-c2.ip*c1.rp)/(c2.rp*c2.rp+c2.ip*c2.ip); return c6; } void displaycomplex(COMP c) { if(c.ip<0) printf("%.2f%.2fin",c.rp,c.ip); else printf("%.2f+%.2fin",c.rp,c.ip); } int main() { struct complex c1,c2,c3,c4,c5,c6; c1=readcomplex(); c2=readcomplex(); c3=addcomplex(c1,c2); c4=subcomplex(c1,c2); c5=multicomplex(c1,c2); c6=dividecomplex(c1,c2); printf("Complex number 1 is:n"); displaycomplex(c1); printf("Complex number 2 is:n"); displaycomplex(c2); printf("Complex number addition is:n"); displaycomplex(c3); printf("Complex number subtraction is:n"); displaycomplex(c4); printf("Complex number multiplication is:n"); displaycomplex(c5); printf("Complex number division is:n"); displaycomplex(c6); return(0); }
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 22 of 25 BPOPS Lab Programs OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 23 of 25 BPOPS Lab Programs 2. Write a C program to compute Electricity Bill #include<stdio.h> typedef struct { long telno; char cname[50]; int units; float bill; }Tbill; int main() { Tbill t1; int fc=250; printf("Enter the Telephone numbern"); scanf("%d",&t1.telno); printf("Enter the consumer namen"); scanf("%s",t1.cname); printf("Enter the no of units usedn"); scanf("%d",&t1.units); if(t1.units<=50) t1.bill=t1.units*1; else t1.bill=t1.units*1.5; t1.bill=fc+t1.bill; printf("Telephone Bill Details:n"); printf("Telephone no: %ldn",t1.telno); printf("conusmer Name: %sn",t1.cname); printf("No of units used: %dn",t1.units); printf("Bill Amount: %.2fn",t1.bill); return 0; } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 24 of 25 BPOPS Lab Programs 3. Write a C program to convert a string of characters to upper case/lower case. #include<stdio.h> #include<string.h> void main() { char s1[100],s2[100]; int len,i; printf("Enter the first stringn"); gets(s1); for(i=0;s1[i]!=0;i++) /* getting each char from s1*/ if(s1[i]>='A' && s1[i]<='Z') s2[i]=s1[i]+32; /* convering to lowercase*/ else if(s1[i]>='a' && s1[i]<='z') s2[i]=s1[i]-32; /* convering to uppercase*/ else s2[i]=s1[i]; /*copying other than alpha character to s1 at last*/ s2[i]=0; /* adding null value to string*/ printf("string in upper lower case is %sn",s2); getch(); } OUTPUT:
` PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 25 of 25 BPOPS Lab Programs 4. Write a C program to check whether a string is palindrome or not. #include<stdio.h> /* srtring palindrome*/ void main() { char s[100]; int len,i,p=1; printf("Enter the stringn"); scanf("%s",s); for(i=0;s[i]!=0;i++); len=i; for(i=0;i<len/2;i++) if(s[i]!=s[len-1-i]) { p=0; break; } if(p) printf("string %s is palaindromen",s); else printf("string %s is not a palaindromen",s); getch(); } OUTPUT:

BPOPS203 PRINCIPLES OF PROGRAMMING USING C LAB Manual.pdf

  • 1.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 1 of 25 BPOPS Lab Programs PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203] by: Dr. A. Syed Mustafa Prof. Madhusudhana DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING
  • 2.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 2 of 25 BPOPS Lab Programs HKBK COLLEGE OF E
  • 3.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 3 of 25 BPOPS Lab Programs PRINCIPLES OF PROGRAMMING USING C LABORATORY [ BPOPS203 ]
  • 4.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 4 of 25 BPOPS Lab Programs 1. Simulation of a Simple Calculator. /*Simulation of a Simple Calculator*/ #include <stdio.h> #include<conio.h> void main() { int a,b,c; char op; printf("Simple Calculatorn"); printf("Enter the Expressionn"); scanf("%d%c%d",&a,&op,&b); /* read input eg. 2+3 */ switch(op) { case '+': c=a+b; /*add 2 numbers*/ break; case '-': c=a-b; /*subtract 2 numbers*/ break; case '*': c=a*b; /*multiply 2 numbers*/ break; case '/': c=a/b; /*divide 2 numbers*/ break; case '%': c=a%b; /*find reminder of 2 numbers*/ break; default: printf("Invalid Expressionn"); } printf("%dn",c); /* display result*/ getch(); } OUTPUT:
  • 5.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 5 of 25 BPOPS Lab Programs 2. Compute the roots of a quadratic equation by accepting the coefficients. Print appropriate messages. #include <stdio.h> #include<conio.h> void main() { int a,b,c,d; float r,r1,r2; printf("Enter the Coefficients a,b and cn"); scanf("%d%d%d",&a,&b,&c); /* read input - ax^2+bx+c */ if(a*b*c==0) { printf("Please enter non zero valuesn"); getch(); exit(0); } /*end if*/ d=b*b-4*a*c; r=2*a; if(d==0) { printf("Roots are Real and Equaln"); r1=r2=-b/r; printf("Root 1: %.2f, Root 2: %.2fn",r1,r2); } else if(d>0) { printf("Roots are Real and Distinctn"); r1=(-b+sqrt(d))/r; r2=(-b-sqrt(d))/r; printf("Root 1: %.2f, Root 2: %.2fn",r1,r2); } else { printf("Roots are Imaginaryn"); r1=-b/r; r2=sqrt(-d)/r; printf("Root 1: %.2f+i%.2f, Root 2: %.2f-i%.2fn",r1,r2,r1,r2); } /*end else*/ getch(); }/* end main*/
  • 6.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 6 of 25 BPOPS Lab Programs OUTPUT:
  • 7.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 7 of 25 BPOPS Lab Programs 3. An electricity board charges the following rates for the use of electricity: for the first 200 units 80 paise per unit: for the next 100 units 90 paise per unit: beyond 300 units Rs 1 per unit. All users are charged a minimum of Rs.100 as meter charge. If the total amount is more than Rs 400, then an additional surcharge of 15% of total amount is charged. Write a program to read the name of the user, number of units consumed and print out the charges. #include <stdio.h> #include<conio.h> void main() { int n,mc=100; float bill; char name[50]; printf("Enter the Name of the Usern"); scanf("%s",name); printf("Enter the number of units electricity consumedn"); scanf("%d",&n); if(n<=200) bill=n*0.8; else if(n<=300) bill=160+(n-200)*0.9; else if(n>300) bill=250+(n-300)*1; bill=bill+mc; /* meter charge added with bill*/ if(bill>400) bill=bill+bill*0.15; printf("Consumer Name: %sn",name); printf("No. of Units Consumed: %dn",n); printf("Total Bill Amount Rs. %.2fn",bill); getch(); } OUTPUT:
  • 8.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 8 of 25 BPOPS Lab Programs 4. #include <stdio.h> #include<conio.h> void main() { int n,i,j,k,m; printf("nEnter the value of n:n"); scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) /*print spaces*/ printf(" "); for(k=1; k<=i ; k++) /*print increment numbers*/ printf("%d ",k); for(m=i-1; m>0; m--) /*print decrement numbers*/ printf("%d ",m); printf("n"); } /*end for*/ getch(); }/* end main*/ OUTPUT:
  • 9.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 9 of 25 BPOPS Lab Programs 5. Implement Binary Search on Integers. #include <stdio.h> #include<conio.h> void main() { int a[100],n,s,e,mid,key,f=0,i; printf("nEnter the total no. of elements:n"); scanf("%d",&n); printf("nEnter the elements in ascending ordern"); for(i = 0 ; i < n ; i++) /*read all elements*/ scanf("%d",&a[i]); printf("nEnter the element to be searched:n"); scanf("%d",&key); s=0; /*start index*/ e=n-1; /*ending index*/ while(s<=e) { mid=(s+e)/2; /*middle index*/ if(key==a[mid]) /* comparing key value with middle value*/ { f=1; break; } if(key>a[mid]) s=mid+1; else e=mid-1; } /* end while*/ if(f) printf("Search Successfuln"); else printf("Search UnSuccessfuln"); getch(); }/* end main*/ OUTPUT:
  • 10.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 10 of 25 BPOPS Lab Programs 6. Implement Matrix multiplication and validate the rules of multiplication. #include <stdio.h> #include<conio.h> void main() { int a[10][10],b[10][10],c[10][10]; int m,n,p,q,i,j,k; printf("nEnter the order of the matrix A:n"); scanf("%d%d",&m,&n); printf("nEnter the order of the matrix B :n"); scanf("%d%d",&p,&q); if(n!=p) /*comparing colmof Matrix A with row of Matrix B*/ { printf("Matrix Multiplication is not possiblen"); getch(); exit(0); } /* end if*/ printf("nEnter the elements of matrix An"); for(i = 0 ; i < m ; i++) for(j = 0 ; j < n ; j++) scanf("%d",&a[i][j]); printf("nEnter the elements of matrix Bn"); 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 < q ; j++) { c[i][j]=0; for(k = 0 ; k < n ; k++) c[i][j]= c[i][j]+a[i][k]*b[k][j]; }/*end for j loop*/ printf("nMATRIX A n"); for(i = 0 ; i < m ; i++) { for(j = 0 ; j < n ; j++) printf("%dt", a[i][j]); printf("n"); }/*end for i loop*/ printf("nMATRIX B n");
  • 11.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 11 of 25 BPOPS Lab Programs for(i = 0 ; i < p ; i++) { for(j = 0 ; j < q ; j++) printf("%dt", b[i][j]); printf("n"); }/*end for i loop*/ printf("nResultant MATRIXn"); for(i = 0 ; i < m ; i++) { for(j = 0 ; j < q ; j++) printf("%dt", c[i][j]); printf("n"); } /*end for i loop*/ getch(); }/* end main*/ OUTPUT:
  • 12.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 12 of 25 BPOPS Lab Programs 7. Compute sin(x)/cos(x) using Taylor series approximation. Compare your result with the built-in library function. Print both the results with appropriate inferences. /*Program to compute Sin(x) using Taylor series approximation given by Sin(x) = x -(x3/3!) + (x5/5!) - (x7/7!) + ....... Compare the result with the built- in Library function and print both the results.*/ #include<stdio.h> #include<conio.h> #include<math.h> void main() { int i,degree; float x,sum=0,term,nume,deno; printf("Enter the value of degree:"); scanf("%d",&degree); x=degree*(3.142/180);/* converting degree to radian*/ nume=x; deno=1; i=2; do { term=nume/deno; nume=-nume*x*x; /*multiply by x twice*/ deno=deno*i*(i+1); /* multiply by next and next value*/ sum=sum+term; i=i+2; }while(fabs(term)>=0.00001); /*check float absolute to 0.00001*/ printf("the sine of %d is %.2fn",degree,sum); printf("the sine function of %d is %.2f:",degree,sin(x)); getch(); } OUTPUT:
  • 13.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 13 of 25 BPOPS Lab Programs 8. Sort the given set of N numbers using Bubble sort. #include <stdio.h> #include<conio.h> void main() { int n,i,j,a[100],temp; printf("nEnter the total no. of elements:n"); scanf("%d",&n); printf("nEnter the elementsn"); for(i = 0 ; i < n ; i++) /*read all elements*/ scanf("%d",&a[i]); for(i = 0 ; i < n-1; i++) for(j = 0 ; j < n-i-1; j++) if(a[j] > a[j+1]) /*compare next 2 numbers*/ { temp = a[j]; /*swap 2 numbers*/ a[j] = a[j+1]; a[j+1] = temp; } printf("nThe Sorted elements aren"); for(i = 0 ; i < n ; i++) /* display all elements*/ printf("%dn",a[i]); getch(); }/* end main*/ OUTPUT:
  • 14.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 14 of 25 BPOPS Lab Programs 9. Write functions to implement string operations such as compare, concatenate, and find string length. Use the parameter passing techniques. #include<stdio.h> /* string length, concate , compare*/ #include<conio.h> int slength(char s[]) { int i; for(i=0;s[i]!=0;i++); return (i); } /*end slength*/ void concat(char s1[100],char s2[100]) { int len,i; len=slength(s1); for(i=0;s2[i]!=0;i++) s1[len+i]=s2[i]; s1[len+i]=0; }/*end concate*/ void compare(char s1[100],char s2[100]) { int l1,l2,i; l1=slength(s1); l2=slength(s2); if(l1!=l2) printf("Strings are not equaln"); else { for(i=0;i<l1;i++) if(s1[i]>s2[i]) { printf("String %s is greater than string %s1n",s1,s2); return; }/*end if*/ else if(s1[i]<s2[i]) { printf("String %s is smaller than string %s1n",s1,s2); return; }/* else if*/ printf("String %s is equal with string %sn",s1,s2); }/* else*/ }/* end compare*/
  • 15.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 15 of 25 BPOPS Lab Programs void main() { char s1[100],s2[100]; int len; printf("Enter the first stringn"); gets(s1); printf("Enter the second stringn"); gets(s2); len=slength(s1); printf("Length of '%s' is %dn",s1,len); compare(s1,s2); concat(s1,s2); printf("concatenated string is %sn", s1); getch(); } OUTPUT:
  • 16.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 16 of 25 BPOPS Lab Programs 10. Implement structures to read, write and compute average- marks of the students, list the students scoring above and below the average marks for a class of N students. #include<stdio.h> typedef struct /* defining structure*/ { int rollno; char name[50]; float marks; }student; void main() { int n,i; float sum=0,avg; student s[50]; /* declaring 50 students*/ printf("Enter the total no of studentsn"); scanf("%d",&n); for(i=0;i<n;i++) { printf("Enter the student: %d datails:n",i+1); printf("Enter the student Rollno:"); scanf("%d",&s[i].rollno); printf("Enter the student Name:"); scanf("%s",s[i].name); printf("Enter the marks:"); scanf("%f",&s[i].marks); sum=sum+s[i].marks; } avg=sum/n; printf("Student details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { printf("%dt",s[i].rollno); printf("%st",s[i].name); printf("%.2fn",s[i].marks); } printf("Average marks is %.2fn",avg); printf("Below average Students details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { if(s[i].marks<avg) { printf("%dt",s[i].rollno);
  • 17.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 17 of 25 BPOPS Lab Programs printf("%st",s[i].name); printf("%.2fn",s[i].marks); } /* end if*/ } /* end for*/ printf("Above average Students details:n"); printf("RollnotNametMarksn"); for(i=0;i<n;i++) { if(s[i].marks>avg) { printf("%dt",s[i].rollno); printf("%st",s[i].name); printf("%.2fn",s[i].marks); } /* end if*/ } /* end for*/ getch(); } /* end main*/ OUTPUT:
  • 18.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 18 of 25 BPOPS Lab Programs 11. Develop a program using pointers to compute the sum, mean and standard deviation of all elements stored in an array of N real numbers. #include<stdio.h> #include<conio.h> #include<math.h> void main() { float a[10],*ptr,mean,std,sum=0,sumstd=0; int n,i; printf("Enter the total numbersn"); scanf("%d",&n); printf("Enter the real numbersn"); for(i=0;i<n;i++) scanf("%f",&a[i]); /* Reading Input Of N Numbers*/ ptr=a; /*assigning address of array to pointer variable*/ for(i=0;i<n;i++) sum=sum + *ptr++; /* adding real numbers stored in array through pointer*/ mean=sum/n; /* finding average or mean*/ ptr=a; /*assigning address of array to pointer variable*/ for(i=0;i<n;i++) { sumstd=sumstd+pow((*ptr-mean),2); /*finding standard deviation*/ ptr++; /* incrementing pointer to fetch next value*/ } std=sqrt(sumstd/n); /*finding standard deviation*/ printf("sum=%.2fn",sum); printf("Mean=%.2fn",mean); printf("standard deviation=%.2fn",std); getch( ); } OUTPUT:
  • 19.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 19 of 25 BPOPS Lab Programs 12. Write a C program to copy a text file to another, read both the input file name and target file name. #include<stdio.h> #include<conio.h> void main() { char ch, fname1[50], fname2[50]; FILE *f1, *f2; printf("Enter the file name to copy its content(source file)n"); scanf("%s",fname1); printf("Enter the file name to write the copied content(target file)n"); scanf("%s",fname2); f1= fopen(fname1, "r"); if (fname1 == NULL) { printf("Can not read filen"); exit(0); } f2 = fopen(fname2, "w"); if (fname2== NULL) { fclose(f1); printf("Can not write to filen"); exit(0); } while ((ch = fgetc(f1)) != EOF) fputc(ch, f2); printf("File copied successfullyn"); fclose(f1); fclose(f2); getch( ); } OUTPUT:
  • 20.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 20 of 25 BPOPS Lab Programs Additional Programs 1. Write a C program to compute addition, subtraction, multiplication and division on Complex Numbers. #include<stdio.h> struct complex { float rp; float ip; }; typedef struct complex COMP; COMP readcomplex() { COMP c; printf("Enter the details of Complex number:n"); scanf("%f%f",&c.rp,&c.ip); return(c); } COMP addcomplex(COMP c1,COMP c2) { COMP c3; c3.rp=c1.rp+c2.rp; c3.ip=c1.ip+c2.ip; return c3; } COMP subcomplex(COMP c1,COMP c2) { COMP c4; c4.rp=c1.rp-c2.rp; c4.ip=c1.ip-c2.ip; return c4; } COMP multicomplex(COMP c1,COMP c2) { COMP c5; c5.rp=c1.rp*c2.rp-c1.ip*c2.ip; c5.ip=c1.rp*c2.ip+c1.ip*c2.rp; return c5; }
  • 21.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 21 of 25 BPOPS Lab Programs COMP dividecomplex(COMP c1,COMP c2) { COMP c6; c6.rp=(c1.rp*c2.rp+c1.ip*c2.ip)/(c2.rp*c2.rp+c2.ip*c2.ip); c6.ip=(c2.rp*c1.ip-c2.ip*c1.rp)/(c2.rp*c2.rp+c2.ip*c2.ip); return c6; } void displaycomplex(COMP c) { if(c.ip<0) printf("%.2f%.2fin",c.rp,c.ip); else printf("%.2f+%.2fin",c.rp,c.ip); } int main() { struct complex c1,c2,c3,c4,c5,c6; c1=readcomplex(); c2=readcomplex(); c3=addcomplex(c1,c2); c4=subcomplex(c1,c2); c5=multicomplex(c1,c2); c6=dividecomplex(c1,c2); printf("Complex number 1 is:n"); displaycomplex(c1); printf("Complex number 2 is:n"); displaycomplex(c2); printf("Complex number addition is:n"); displaycomplex(c3); printf("Complex number subtraction is:n"); displaycomplex(c4); printf("Complex number multiplication is:n"); displaycomplex(c5); printf("Complex number division is:n"); displaycomplex(c6); return(0); }
  • 22.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 22 of 25 BPOPS Lab Programs OUTPUT:
  • 23.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 23 of 25 BPOPS Lab Programs 2. Write a C program to compute Electricity Bill #include<stdio.h> typedef struct { long telno; char cname[50]; int units; float bill; }Tbill; int main() { Tbill t1; int fc=250; printf("Enter the Telephone numbern"); scanf("%d",&t1.telno); printf("Enter the consumer namen"); scanf("%s",t1.cname); printf("Enter the no of units usedn"); scanf("%d",&t1.units); if(t1.units<=50) t1.bill=t1.units*1; else t1.bill=t1.units*1.5; t1.bill=fc+t1.bill; printf("Telephone Bill Details:n"); printf("Telephone no: %ldn",t1.telno); printf("conusmer Name: %sn",t1.cname); printf("No of units used: %dn",t1.units); printf("Bill Amount: %.2fn",t1.bill); return 0; } OUTPUT:
  • 24.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 24 of 25 BPOPS Lab Programs 3. Write a C program to convert a string of characters to upper case/lower case. #include<stdio.h> #include<string.h> void main() { char s1[100],s2[100]; int len,i; printf("Enter the first stringn"); gets(s1); for(i=0;s1[i]!=0;i++) /* getting each char from s1*/ if(s1[i]>='A' && s1[i]<='Z') s2[i]=s1[i]+32; /* convering to lowercase*/ else if(s1[i]>='a' && s1[i]<='z') s2[i]=s1[i]-32; /* convering to uppercase*/ else s2[i]=s1[i]; /*copying other than alpha character to s1 at last*/ s2[i]=0; /* adding null value to string*/ printf("string in upper lower case is %sn",s2); getch(); } OUTPUT:
  • 25.
    ` PRINCIPLES OF PROGRAMMINGUSING C LABORATORY [ BPOPS203 ] Dr. A. Syed Mustafa, HKBKCE. Page 25 of 25 BPOPS Lab Programs 4. Write a C program to check whether a string is palindrome or not. #include<stdio.h> /* srtring palindrome*/ void main() { char s[100]; int len,i,p=1; printf("Enter the stringn"); scanf("%s",s); for(i=0;s[i]!=0;i++); len=i; for(i=0;i<len/2;i++) if(s[i]!=s[len-1-i]) { p=0; break; } if(p) printf("string %s is palaindromen",s); else printf("string %s is not a palaindromen",s); getch(); } OUTPUT: