0% found this document useful (0 votes)
124 views40 pages

CL Absolutions

The document provides C programming exercises and solutions for string manipulation, mathematical calculations, conditional statements, loops, functions, and more. Some key problems addressed include temperature conversion, student grading, income tax calculation, Fibonacci sequence generation, checking if a number is prime, calculating distance traveled with varying velocity and acceleration, and palindrome checking. Solutions utilize basic C operators, if-else statements, for loops, functions, strings handling functions like strcpy(), strlen(), etc. The document emphasizes learning basic programming concepts and encourages reusing provided code for practice.

Uploaded by

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

CL Absolutions

The document provides C programming exercises and solutions for string manipulation, mathematical calculations, conditional statements, loops, functions, and more. Some key problems addressed include temperature conversion, student grading, income tax calculation, Fibonacci sequence generation, checking if a number is prime, calculating distance traveled with varying velocity and acceleration, and palindrome checking. Solutions utilize basic C operators, if-else statements, for loops, functions, strings handling functions like strcpy(), strlen(), etc. The document emphasizes learning basic programming concepts and encourages reusing provided code for practice.

Uploaded by

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

Rejoi-C-e

C
LAB-SOLUTONS
(PART-III)

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

Exercise 1
Solving problems such as temperature conversion, student grading, income tax
calculation, etc which expose the students to use basic C operators.
a) Temperature Conversion from Fahrenheit to Celsius.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
float f,c;
clrscr();
printf("\n Enter Temperature in F: ");
scanf("%f",&f);
c=5.0/9*(f-32);
printf(" Temperature in C: %f",c);
getch();
}
Output
Enter Temperature in F: 98
Temperature in C: 36.666668
b) Student grading based on his percentage.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int p;
clrscr();
printf("\n Enter Percentage: ");
scanf("%d",&p);
if(p>=70)
printf(" Distinction");
else if(p>=60&&p<70)
printf(" First class");
else if(p>=50&&p<60)
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

printf(" Second class");


else if(p>=40&&p<50)
printf(" Third class");
else
printf(" Fail");
getch();
}
Output
Enter Percentage: 73
Distinction

c) Average of three numbers


Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
float avg;
clrscr();
printf("\n Enter a,b,c: ");
scanf("%d%d%d",&a,&b,&c);
avg=(float)(a+b+c)/3;
printf(" Avg: %f",avg);
getch();
}
Output
Enter a,b,c: 62 45 90
Avg: 65.666664

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

d) Largest among three numbers


Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
clrscr();
printf("\n Enter a,b,c: ");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
{
if(a>c)
printf(" a is large");
else
printf(" c is large");
}
else
if(b>c)
printf(" b is large");
else
printf(" c is large");
getch();
}
Output
Enter a,b,c: 5 9 3
b is large

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

e) Income Tax calculation


0

200000

300000

Above 500000

200000
300000
500000

0%
10%
20%
30%

Program
#include<stdio.h>
#include<conio.h>
void main()
{
long int a,tax=0;
clrscr();
printf("\n Enter amount: ");
scanf("%ld",&a);
if(a<=200000)
tax=0;
else if(a>200000&&a<=300000)
tax=(a-200000)*10/100;
else if(a>300000&&a<=500000)
tax=10000+(a-300000)*20/100;
else if(a>500000)
tax=50000+(a-500000)*30/100;
printf(" Tax: %ld",tax);
getch();
}
Output
Enter amount: 600000
Tax: 80000

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

Exercise 2
2s complement of a number is obtained by scanning it from right to left and
complementing all the bits after the first appearance of a 1. Thus 2s complement of
11100 is 00100. Write a C program to find the 2s complement of a binary number.
Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char a[20];
int i,j,k,len;
clrscr();
printf("\n Enter Binary string: ");
gets(a);
len=strlen(a);
for(k=0;a[k]!='\0';k++)
{
if(a[k]!='0'&&a[k]!='1')
{
printf(" Incorrect Binary number...");
getch();
exit(0);
}
}
for(i=len-1;a[i]!='1';i--);
for(j=i-1;j>=0;j--)
{
if(a[j]=='1')
a[j]='0';
else
a[j]='1';
}
printf(" 2's complement: %s",a);
getch();
}

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

Output
Enter Binary string: 110101010
2's complement: 001010110
Exercise 3
a) Write a C Program to find the sum of individual digits of a positive integer
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int n,sum=0;
clrscr();
printf("\n Enter n: ");
scanf("%d",&n);
if(n<0)
{
printf("Enter positive integer..");
}
else
{
while(n!=0)
{
sum=sum+n%10;
n=n/10;
}
printf(" Sum of individual digits: %d",sum);
}
getch();
}
Output
Enter n: 2346
Sum of individual digits: 15

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

b) A Fibonacci sequence is defined as follows: the first and second terms in the
sequence are 0 and 1. Subsequent terms are found by adding the preceding two terms
in the sequence. Write a C program to generate the first n terms of the sequence.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a=0,b=1,c,n,i;
clrscr();
printf("\n Enter n: ");
scanf("%d",&n);
printf("\n The Fibonacci sequence...\n");
printf(" %d\n %d",a,b);
for(i=3;i<=n;i++)
{
c=a+b;
printf("\n %d",c);
a=b;
b=c;
}
getch();
}
Output
Enter n: 10
The Fibonacci sequence
0
1
1
2
3
5
8
13
21
34
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

c) Write a C program to generate all the prime numbers between 1 and n, where n is a
value supplied by the user.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int i,j,n,count=0;
clrscr();
printf("\n Enter n: ");
scanf("%d",&n);
printf(" Prime numbers between 1 and %d are...",n);
for(i=2;i<=n;i++)
{
count=0;
for(j=2;j<=i-1;j++)
{
if(i%j==0)
count++;
}
if(count==0)
printf("\n %d",i);
}
getch();
}
Output
Enter n: 45
Prime numbers between 1 and 45 are...
2
3
5
7
11
13
17
19
23
29
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

Rejoi-C-e

31
37
41
43
d) Write a program which checks a given integer is Fibonacci number or not
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i,a[20],count=0;
clrscr();
a[0]=0;
a[1]=1;
for(i=2;i<20;i++)
{
a[i]=a[i-1]+a[i-2];
}
printf("\n Enter n: ");
scanf("%d",&n);
for(i=0;i<20;i++)
{
if(n==a[i])
{
count++;
break;
}
}
if(count>0)
printf(" Fibonacci number...");
else
printf(" Not a fibonacci number...");
getch();
}
Output
Enter n: 144
Fibonacci number...

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

10

Rejoi-C-e

Exercise 4
a) Write a C program to calculate the following Sum:
Sum=1-x2/2! +x4/4!-x6/6!+x8/8!-x10/10!
Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
long int i,t,f=1,k=1;
float sum=1.0,x;
clrscr();
printf("\n Enter x: ");
scanf("%f",&x);
for(i=2;i<=10;i=i+2)
{
t=i;
while(t!=0)
{
f=f*t;
t--;
}
sum=sum+(pow(-1,k)*pow(x,i))/(float)f;
k++;
f=1;
}
printf("\n The Sum of Series: %f",sum);
getch();
}
Output
Enter x: 2
The Sum of Series: -0.416155

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

11

Rejoi-C-e

b) Write a C program toe find the roots of a quadratic equation.


Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
float a,b,c,d,p,q,x1,x2;
clrscr();
printf("\n Enter a,b,c: ");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d==0)
{
printf(" Roots are real and equal...");
printf("\n x1=x2=%f",-b/(2*a));
}
else
if(d>0)
{
printf(" Roots are real...");
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("\n x1=%f \n x2=%f",x1,x2);
}
else //if(d<0)
{
printf(" Roots are imaginary...");
p=-b/(2*a);
q=sqrt(-d)/(2*a);
if(q<0)
printf("\n x1=%f+i%f x2=%f-i%f",p,-q,p,-q);
else
printf("\n x1=%f+i%f x2=%f-i%f",p,q,p,q);
}
getch();
}
Output
Enter a,b,c: 4 4 1
Roots are real and equal...
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

12

Rejoi-C-e

x1=x2=-0.500000

Exercise 5
a) The total distance traveled by vehicle in t seconds is given by distance = ut+1/2at2
where u and a are the initial velocity (m/sec.) and acceleration (m/sec2). Write C
program to find the distance traveled at regular intervals of time given the values of u
and a. The program should provide the flexibility to the user to select his own time
intervals and repeat the calculations for different values of u and a.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
float s,a,u;
int t,n;
clrscr();
printf("\n Enter Time Intervals: ");
scanf("%d",&n);
for(t=0;t<=n;t++)
{
printf(" Enter u and a: ");
scanf("%f%f",&a,&u);
s=u*t+0.5*a*t*t;
printf(" Distance traveled at %d time interval: %f \n",t,s);
}
getch();
}
Output
Enter Time Intervals: 2
Enter u and a: 2 7
Distance traveled at 0 time interval: 0.000000
Enter u and a: 4 9
Distance traveled at 1 time interval: 11.000000
Enter u and a: 3 4
Distance traveled at 2 time interval: 14.000000

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

13

Rejoi-C-e

b) Write a C program, which takes two integer operands and one operator form the
user, performs the operation and then prints the result. (Consider the operators +,-,*, /,
% and use Switch Statement)
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,c;
char op;
clrscr();
printf("\n Enter a,b: ");
scanf("%d%d",&a,&b);
printf(" Enter Operator (+,-,*,/,%): ");
op=getche();
switch(op)
{
case '+': c=a+b; break;
case '-': c=a-b; break;
case '*': c=a*b; break;
case '/': c=a/b; break;
case '%': c=a%b; break;
default : printf("\n Enter correct operator..");
getch();
exit(0);
}
printf("\n Result: %d",c);
getch();
}
Output
Enter a,b: 87 34
Enter Operator (+,-,*,/,%): %
Result: 19

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

14

Rejoi-C-e

Exercise 6
a) Simple programming examples to manipulate strings.
Program
#include<string.h>
void main()
{
char a[10]="srinivas",b[10]="KRISHNA",c[10]="srinivas",d[10],e[20];
int len;
clrscr();
len=strlen(a);
printf("\n Length=%d",len);
strcpy(d,a);
printf("\n %s",d);
strcpy(e,a);
strcat(e,b);
printf("\n %s",e);
strrev(d);
printf("\n %s",d);
strlwr(b);
printf("\n %s",b);
strupr(a);
printf("\n %s",a);
if(strcmp(a,c)==0) //compares with case sensitivity
printf("\n Two strings are equal ");
else
printf("\n Two strings are not equal");
if(stricmp(a,c)==0) //compares without case sensitivity
printf("\n Two strings are equal");
else
printf("\n Two strings are not equal");
getch();
}
Output
Length=8
srinivas
srinivasKRISHNA
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

15

Rejoi-C-e

savinirs
krishna
SRINIVAS
Two strings are not equal
Two strings are equal
b) Verifying a string for its palindrome property
Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char a[20];
int len,i;
clrscr();
printf("\n Enter String: ");
gets(a);
len=strlen(a);
for(i=0;i<len/2;i++)
{
if(a[i]==a[len-1])
len--;
else
{
printf("\n Not Palindrome...");
getch();
exit();
}
}
printf("\n Palindrome");
getch();
}
Output
Enter String: srinirs
Palindrome

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

16

Rejoi-C-e

Exercise 7
Write a C program that uses functions to perform the following operations
i) To insert a sub-string in to given main string from a given position.
Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
int i,p,n,r,k,j=0;
char a[20],b[10],c[30];
clrscr();
printf("\n Enter the Main String: ");
gets(a);
printf(" Enter the String to insert: ");
gets(b);
printf(" Enter position to insert: ");
scanf("%d",&p);
n=strlen(a);
r=strlen(b);
for(i=0;i<p-1;i++)
c[i]=a[i];
k=i;
for(i=p-1;i<p+r-1;i++)
c[i]=b[j++];
for(i=p+r-1;i<n+r;i++)
c[i]=a[k++];
c[i]='\0';
printf(" Resultant String: %s",c);
getch();
}
Output
Enter the Main String: srinivas
Enter the String to insert: Hari
Enter position to insert: 4
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

17

Rejoi-C-e

Resultant String: sriHarinivas

ii) To delete n Characters from a given position in a given string.


Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char a[20];
int i,p,len,n,k;
clrscr();
printf("\n Enter String: ");
gets(a);
len=strlen(a);
printf(" Enter Position: ");
scanf("%d",&p);
printf(" Enter Number of chars to delete: ");
scanf("%d",&n);
k=p+n-1;
for(i=p-1;i<len-n;i++)
a[i]=a[k++];
a[i]='\0';
printf(" Resultant String: %s",a);
getch();
}
Output
Enter String: srinivas
Enter Position: 4
Enter Number of chars to delete: 2
Resultant String: srivas

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

18

Rejoi-C-e

iii) To replace a character of a string either from beginning or ending or at a specified


location.
Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char a[20],ch;
int choice,pos,len;
clrscr();
printf("\n Enter string: ");
gets(a);
printf(" 1.At Begin \n 2.At End \n 3.At position \n");
printf(" Enter choice: ");
scanf("%d",&choice);
switch(choice)
{
case 1: printf(" Enter character to replace at begin: ");
ch=getche();
a[0]=ch;
printf("\n New string: %s",a);
break;
case 2: printf(" Enter character to replace at end: ");
ch=getche();
len=strlen(a);
a[len-1]=ch;
printf("\n New string: %s",a);
break;
case 3: printf(" Enter character to replace at given position: ");
ch=getche();
printf("\n Enter position: ");
scanf("%d",&pos);
a[pos-1]=ch;
printf(" New string: %s",a);
break;
default:printf(" Enter correct choice");
break;
}
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

19

Rejoi-C-e

getch();
}

Output
Enter string: sri nivas
1.At Begin
2.At End
3.At position
Enter choice: 1
Enter character to replace at begin: Q
New string: Qri nivas
Enter string: sri nivas
1.At Begin
2.At End
3.At position
Enter choice: 2
Enter character to replace at end: W
New string: sri nivaW
Enter string: sri nivas
1.At Begin
2.At End
3.At position
Enter choice: 3
Enter character to replace at given position: Z
Enter position: 4
New string: sriZnivas

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

20

Rejoi-C-e

Exercise 8
Write a C program that uses functions to perform the following operations:
i) Reading a complex number
ii) Writing a complex number
iii) Addition of two complex numbers
iv) Multiplication of two complex numbers
Program
#include<stdio.h>
#include<conio.h>
struct complex add(struct complex a,struct complex b);
struct complex mul(struct complex a,struct complex b);
void write(struct complex s);
struct complex read();
struct complex
{
float r,i;
};
void main()
{
struct complex a,b,c;
int ch;
clrscr();
printf("\n Enter Real and Imag for 1st Complex Number: ");
a=read();
printf("\n Enter Real and Imag for 2nd Complex Number: ");
b=read();
printf("\n 1.Add \n 2.Multiplication ");
printf("\n Enter choice: ");
scanf("%d",&ch);
switch(ch)
{
case 1 : c=add(a,b);
write(c);
break;
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

21

Rejoi-C-e

case 2 : c=mul(a,b);
write(c);
break;
default: printf("\n Enter Correct choice..");
break;
}
getch();
}
struct complex read()
{
struct complex s;
scanf("%f%f",&s.r,&s.i);
return s;
}
struct complex add(struct complex a,struct complex b)
{
struct complex s;
s.r=a.r+b.r;
s.i=a.i+b.i;
return s;
}
struct complex mul(struct complex a,struct complex b)
{
struct complex s;
s.r=a.r*b.r-a.i*b.i;
s.i=a.r*b.i+a.i*b.r;
return s;
}
void write(struct complex s)
{
if(s.i>0)
printf("\n Result=%f+i%f",s.r,s.i);
else
printf("\n Result=%f-i%f",s.r,-1*s.i);
}
Output
Enter Real and Imag for 1st Complex Number: 3
-2
Enter Real and Imag for 2nd Complex Number: -5
6
1.Add
2.Multiplication
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

22

Rejoi-C-e

Enter choice: 2
Result=-3.000000+i28.000000

Exercise 9
a) Addition of two matrices
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a[4][4],b[4][4],c[4][4],i,j,m,n,p,q;
clrscr();
printf("\n Enter Order for 1st Matrix: ");
scanf("%d%d",&m,&n);
printf("\n Enter Order for 2nd Matrix: ");
scanf("%d%d",&p,&q);
if((m==p)&&(n==q))
{
printf("\n Enter 1st Matrix elements: ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("\n Enter 2nd Matrix elements: ");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
scanf("%d",&b[i][j]);
}
}
printf("\n Addition of two matrices: \n");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
c[i][j]=a[i][j]+b[i][j];
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

23

Rejoi-C-e

printf("%d \t",c[i][j]);
}
printf("\n");
}
}
else
{
printf("\n Addition not possible...");
}
getch();
}
Output
Enter Order for 1st Matrix: 3 2
Enter Order for 2nd Matrix: 3 2
Enter 1st Matrix elements: 1
2
3
4
5
6
Enter 2nd Matrix elements: 6
5
4
3
2
1
Addition of two matrices:
7
7
7
7
7
7

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

24

Rejoi-C-e

b) Calculating transpose of matrix in-place manner


Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a[4][4],b[4][4],i,j,m,n;
clrscr();
printf("\n Enter Order for matrix: ");
scanf("%d%d",&m,&n);
printf(" Enter Matrix elements: ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
b[j][i]=a[i][j];
}
}
printf(" Transpose of Matrix: ");
for(i=0;i<n;i++)
{
printf("\n");
for(j=0;j<m;j++)
{
printf("%d \t",b[i][j]);
}
}
getch();
}
Output
Enter Order for matrix: 3 4
Enter Matrix elements:
1
2
3
4
5
6
7
8
9
10
11
12
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

25

Rejoi-C-e

Transpose of Matrix:
1
5
9
2
6
10
3
7
11
4
8
12
c) Matrix Multiplication by checking compatibility
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a[4][4],b[4][4],c[4][4],i,j,m,n,p,q,k;
clrscr();
printf("\n Enter Order for 1st Matrix: ");
scanf("%d%d",&m,&n);
printf("\n Enter Order for 2nd Matrix: ");
scanf("%d%d",&p,&q);
if(n==p)
{
printf("\n Enter 1st Matrix elements: ");
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
printf("\n Enter 2nd Matrix elements: ");
for(i=0;i<p;i++)
{
for(j=0;j<q;j++)
{
scanf("%d",&b[i][j]);
}
}
printf("\n Multiplication of two matrices: \n");
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];
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

26

Rejoi-C-e

printf("%d \t",c[i][j]);
}
printf("\n");
}
}
else
{
printf("\n Multiplication not possible...");
}
getch();
}
Output
Enter Order for 1st Matrix: 3 3
Enter Order for 2nd Matrix: 3 2
Enter 1st Matrix elements: 1 2 3 4 5 6 7 8 9
Enter 2nd Matrix elements: 6 5 4 3 2 1
Multiplication of two matrices:
20
14
56
41
92
68

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

27

Rejoi-C-e

Exercise 10
a) Write C programs that use both recursive and non-recursive functions.
i) To find the factorial of a given integer.
Program using Non-Recursive
#include<stdio.h>
#include<conio.h>
void main()
{
int f=1,i,n;
clrscr();
printf("\n Enter n: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
f=f*i;
}
printf("\n Factorial of %d is: %d",n,f);
getch();
}
Output
Enter n: 7
Factorial of 7 is: 5040

Program using Recursive


#include<stdio.h>
#include<conio.h>
void main()
{
int f,i,n;
clrscr();
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

28

Rejoi-C-e

printf("\n Enter n: ");


scanf("%d",&n);
printf("\n Factorial of %d is: %d",n,fact(n));
getch();
}
int fact(int n)
{
int p;
if(n==1)
return 1;
else
p=n*fact(n-1);
return p;
}
Output
Enter n: 7
Factorial of 7 is: 5040
ii) To find the GCD (greatest common divisor) of two given integers.
GCD using Non-Recursive
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b,gcd,i,m;
clrscr();
printf("\n Enter a,b: ");
scanf("%d%d",&a,&b);
if(a>b)
m=b;
else
m=a;
for(i=1;i<=m;i++)
{
if(a%i==0&&b%i==0)
gcd=i;
}
printf("\n GCD of %d and %d is: %d",a,b,gcd);
getch();
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

29

Rejoi-C-e

}
Output
Enter a,b: 36 24
GCD of 36 and 24 is: 12
GCD using Recursive
#include<stdio.h>
#include<conio.h>
void main()
{
int a,b;
clrscr();
printf("\n Enter a,b: ");
scanf("%d%d",&a,&b);
printf("\n GCD of %d and %d is: %d",a,b,gcd(a,b));
getch();
}
int gcd(int a,int b)
{
if(b>a)
return gcd(b,a);
if(b==0)
return a;
else
return gcd(b,a%b);
}
Output
Enter a,b: 36 24
GCD of 36 and 24 is: 12
iii) To solve Towers of Hanoi problem.
Program using Recursive
#include<stdio.h>
#include<conio.h>
void towers(int n,char src, char target, char temp);
void main()
{
int n;
clrscr();
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

30

Rejoi-C-e

printf("\n How Many disks: ");


scanf("%d",&n);
towers(n,'A','C','B');
getch();
}
void towers(int n, char src, char target, char temp)
{
if(n==1)
{
printf("\n Move top disk from %c to %c",src,target);
return;
}
towers(n-1,src,temp,target);
printf( "\n Move top disk from %c to %c",src,target);
towers(n-1,temp,target,src);
}
Output
How Many disks: 4
Move top disk from A to B
Move top disk from A to C
Move top disk from B to C
Move top disk from A to B
Move top disk from C to A
Move top disk from C to B
Move top disk from A to B
Move top disk from A to C
Move top disk from B to C
Move top disk from B to A
Move top disk from C to A
Move top disk from B to C
Move top disk from A to B
Move top disk from A to C
Move top disk from B to C

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

31

Rejoi-C-e

Exercise 11
a) Write a C Function to find both largest and smallest numbers of an array of integers.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int a[10],n,i,max,min;
clrscr();
printf("\n Enter n: ");
scanf("%d",&n);
printf(" Enter elements: ");
for(i=0;i<n;i++)
scanf("%d",&a[i]);
min=max=a[0];
for(i=0;i<n;i++)
{
if(a[i]<min)
min=a[i];
if(a[i]>max)
max=a[i];
}
printf(" Largest=%d \n Smallest=%d ",max,min);
getch();
}
Output
Enter n: 6
Enter elements: 1
5
-65
8
936
421
Largest=936
Smallest=-65
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

32

Rejoi-C-e

b) Write a C function that uses functions to perform the following.


i) Write a C program that displays the position or index in the string S where the string T
begins, or 1 if S doesnt contain T.
Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
void main()
{
char s[20],t[10],*found;
clrscr();
printf("\n Enter String: ");
gets(s);
printf(" Enter Substring to find: ");
gets(t);
found=strstr(s,t);
if(found)
printf(" Found at %d position...",found-s+1);
else
printf(" Substring not found...");
getch();
}
Output
Enter String: srinivas
Enter Substring to find: iva
Found at 6 position
ii) Write a C program to count the lines, words and characters in a given text.
Program
#include<stdio.h>
#include<conio.h>
#include<string.h>
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

33

Rejoi-C-e

void main()
{
char a[80],ch;
int i,k,end=0,nc=0,nw=0,nl=0;
clrscr();
printf("\n Enter the Text and press ENTER at end..\n");
while(end==0)
{
k=0;
while((ch=getchar())!='\n')
a[k++]=ch;
a[k]='\0';
if(a[0]=='\0')
break;
else
{
nw++;
for(i=0;a[i]!='\0';i++)
{
if(a[i]==' '||a[i]=='\t')
nw++;
}
}
nl=nl+1;
nc=nc+strlen(a);
}
printf("\n Number of Lines
: %d",nl);
printf("\n Number of Words
: %d",nw);
printf("\n Number of Characters: %d",nc);
getch();
}
Output
Enter the Text and press ENTER at end..
Hello World
How are you !!!!
Number of Lines
Number of Words

:2
:6

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

34

Rejoi-C-e

Number of Characters: 27

Exercise 12
a) Write a C function to generate Pascals triangle.
Program
#include<stdio.h>
#include<conio.h>
void main()
{
int p=1,y=0,i,r,x;
clrscr();
printf("\n Rows you want to input: ");
scanf("%d",&r);
printf("\n Pascal's Triangle:\n");
while(y<r)
{
for(i=40-3*y;i>0;i--)
printf(" ");
for(x=0;x<=y;x++)
{
if((x==0)||(y==0))
p=1;
else
p=(p*(y-x+1))/x;
printf("%6d",p);
}
printf("\n");
y++;
}
getch();
}
Output
Rows you want to input: 6
Pascal's Triangle:
1
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

35

Rejoi-C-e

1
1
1
1
1

1
2

3
4

1
3

6
10

4
10

1
1
5

b) Write a C function to construct a pyramid of numbers.


Program
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i,y,x=35;
clrscr();
printf("\n Enter n: ");
scanf("%d",&n);
printf("\n Pyramid Triangle \n");
for(y=0;y<=n;y++)
{
gotoxy(x,y+4);
for(i=-y;i<=y;i++)
printf("%2d",abs(i));
x=x-2;
}
getch();
}
Output
Enter n: 4
Pyramid Triangle
0
101
21012
3210123
432101234

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

36

Rejoi-C-e

Exercise 13
Write a C program to read in two numbers, x and n, and then compute the sum of this
geometric
progression: 1+x+x2+x3+.+xn
Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,x,n;
long int sum;
clrscr();
printf("\n Enter the values for x and n: ");
scanf("%d%d",&x,&n);
if(n<=0||x<=0)
{
printf("\n Value is not valid..");
getch();
main();
}
else
{
sum=1;
for(i=1;i<=n;i++)
{
sum=sum+pow(x,i);
}
printf("\n Sum of series: %ld",sum);
}
getch();
}
Output
Enter the values for x and n: 5 3
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

37

Rejoi-C-e

Sum of series: 156

Write a C function to read in two numbers, x and n (number of terns) and then compute
sin(x) and cos(x).
cos(x)=1-x2/2!+x4/4!-x6/6!+x8/8!-.
Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
long int i,t,f=1,k=1,n;
float sum=1,x;
clrscr();
printf("\n Enter x: ");
scanf("%f",&x);
printf(" Enter n: ");
scanf("%ld",&n);
for(i=2;i<n*2;i=i+2)
{
t=i;
while(t!=0)
{
f=f*t;
t--;
}
sum=sum+(pow(-1,k)*pow(x,i))/f;
k++;
f=1;
}
printf("\n cos(x)= %f",sum);
getch();
}
Output

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

38

Rejoi-C-e

Enter x: 2
Enter n: 6
cos(x)= -0.416155

sin(x)=x-x3/3!+x5/5!-x7/7!+x9/9!-.
Program
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
long int i,t,f=1,k=1;
float sum,x;
clrscr();
printf("\n Enter x: ");
scanf("%f",&x);
printf(" Enter n: ");
scanf("%ld",&n);
sum=x;
for(i=3;i<n*2;i=i+2)
{
t=i;
while(t!=0)
{
f=f*t;
t--;
}
sum=sum+(pow(-1,k)*pow(x,i))/f;
k++;
f=1;
}
printf("\n sin(x)= %f",sum);
getch();
}
Output
Enter x: 2
Enter n: 4
sin(x)= 0.907937
DO NOT COPY,
For THIS MATERIAL Call -9705551427.

39

Rejoi-C-e

DO NOT COPY,
For THIS MATERIAL Call -9705551427.

40

You might also like