C Chapter 05
C Chapter 05
(a)When if statements are nested , the last else gets associated with the nearest
if without an else.
Ans: False.
Ans: False.
Ans: False.
Ans: False.
Ans: False.
Ans: True.
Ans: True.
Ans: True.
Ans: True.
(a)The ……….operator is true only when both the operands are true.
Ans: switch.
Ans: break.
Ans: if…else.
Ans: x==y.
Solution:
printf(" ");
Ans: Error.
printf(" ");
(b) if (code >1)
a= b+c
else
a=0
Ans: Error.
a= b+c;
else
a=0;
printf("Sign is negative”);
Ans: Error.
printf("Sign is negative”);
x=1;
y=1;
if(n>0)
x=x+1;
y=y-1;
what will be the values of x and y if n assumes a value of (a) 1and (b) 0.
Solution:
(a)The value of x is 2 & y is 0.
(a) if(grade<=59&&grade>=50)
second=second+1;
Solution:
if(grade<=59)
second=second+1;
if(grade>=50)
second=second+1;
(b) if ( number>100||number<0)
printf(“Out of range”);
else
sum=sum+number;
Solution:
if ( number>100)
printf(“Out of range”);
else if(number<0)
printf(“Out of range”);
else
sum=sum+number;
(c) if (M1>60&&M2>60||T>200)
printf(“Admitted\n”);
else
Solution:
if (M1>60)
printf (“Admitted\n”);
if (M2>60)
printf (“Admitted\n”);
else if(T>200)
printf (“Admitted\n”);
else
RQ-5.6:Assuming x=10 ,state whether the following logical expressions are true or false:
RQ-5.7:Find errors,if any, in the following switch related statements.Assume that the
variables x and y are of int type and x=1 and y=2.
Solution:
(a)switch(y);
Ans: Error.
(b)case 10;
Ans: Error.
Correct ans: case 10:
(c)switch(x+y)
Ans:No error.
Ans: Error.
(c)!((x+y==z)&&!(z>5)) (d)!((x<=5)&&(y==10)&&(z<5))
Ans: (x5)
RQ-5.9:Assuming that x=5, y=0,and z=1 initially ,what will be their values after
executing the following code segments?
(a)if(x && y)
x=10;
else
y=10;
Output:
10
10
(b)if(x|| y ||z)
y=10;
else
z=0;
Output:
(c)if(x)
if(y)
z=10;
else
z=0;
Output:
10
if(!y)
z=0;
else
y=1;
Output:
RQ-5.10:Assuming that x=2,y=1 and z=0 initially ,what will be their values after
executing the following code segments?
(a)
switch(x)
{
case 2:
x=1;
y=x+1;
case 1:
x=0;
break;
default:
x=1;
y=0;
Output:
(b)
switch(y)
case 0:
x=0;
y=0;
case 2:
x=2;
z=2;
default:
x=1;
y=2;
Output:
000
Solution:
(a)if(x>=10)
printf("\n");
Ans: No error.
(b)if(x>=10)
printf("OK");
Ans: No error.
(c)if(x==10)
printf ("Good");
Ans : No error.
(d)if(x=<10)
printf("Welcome");
Ans : Error.
Printf(“Welcome”);
Program:
main()
int m=5;
getch();
Output:
Program:
main ()
int m=1;
if( m==1)
printf ("Delhi");
if(m==2)
printf("Chennai");
else
printf("Banglore");
}
else
Printf("END");
getch();
Output:
Delhi
Chennai
Banglore
Program:
main()
int m;
printf("%d\n",(m%2) ? m : m*2);
getch();
Output:
1438
RQ-5.15:What is the output of following program?
Program:
main()
int m,n,p;
for(m=0; m<3;m++)
for(n=0;n<3;n++)
for(p=0;p<3;p++)
if(m+n+p==2)
goto print;
print:
printf("%d %d %d",m,n,p);
getch();
Output:
002
int x=10,y=15;
x= (x
Solution:
int x=0;
if(x>=0)
if(x>0)
printf("Number is positive");
else
printf("Number is negative");
Output:
Number is positive
Number is negative
RQ-5.18: What will be the output when the following segment is executed?
Program:
char ch = ‘a’
switch(ch)
case ‘a’:
printf(“A”);
case ‘b’:
printf(“B”);
case ‘c’:
printf(“C”);
Output:
a
Program:
main()
int x=10,y=20;
if(( x10)
printf("%d",x);
else
printf("%d",y);
getch();
Output:
10
Program:
main()
{
int a=10, b=5;
if(a>b)
if(b>5)
printf("%d",b);
else
printf("%d",a);
getch();
(a) without using else option, and (b) with using else option.
Solution:
/*………………even or odd……………*/
#include
#include
void main()
int n;
clrscr();
printf(“Enter a number\n”)
scanf("%d",&n);
if(n%2==0)
if(n%2==1)
getch();
/*………………even or odd……………*/
#include
#include
void main()
int n;
clrscr();
printf(“Enter a number\n”)
scanf("%d",&n);
if(n%2==0)
printf("Even");
else
printf("Odd");
getch();
EXERCISE-5.2 Write a program to find the number of and sum of all integers greater than 100
and less than 200 that are divisible by 7.
Solution:
#include
#include
void main()
int i,n,r,sum;
sum=0;
clrscr();
for(i=100;i<=200;i++)
r=i%7;
if(r==0)
printf(" %d",i);
sum=sum+i;
printf(“Sum=%d”,sum);
getch();
}
EXERCISE-5.3 A set of two linear equations with two unknowns x1 and x2 is given below:
Write a program that will read the values of constants a,b,c,d,m and n and compute the values of
x1 and x2 .An appropriate message should be printed if ad-cb=0.
Solution:
#include
#include
void main()
float a,b,c,d,m,n,x1,x2;
clrscr();
printf("Input a,b,c,d,m,n:\n");
x1=(m*d-b*n)/(a*d-c*b);
x2=(n*a-m*c)/(a*d-c*b);
if((a*d-c*b)!=0)
else
EXERCISE-5.4 Given a list of marks ranging from 0 to 100, write a program to print number of
students:
(a)Who have obtained more than 80 marks, (b) who have obtained more than 60 marks,
(c)Who have obtained more than 40 marks, (d) who have obtained 40 or less marks,
Solution:
/*….marks obtain……*/
#include
#include
void main()
int marks,count,a,b,c,d,i;
clrscr();
for(i=1;i<=20;i++)
scanf("%d",&marks);
if(marks>80)
a++;
else if(marks>60)
b++;
else if(marks>40)
c++;
else if(marks<=40)
d++;
printf("Number of students who have obtained more than 80 marks=%d\nNumber of students who
have obtained more than 60 marks=%d\n Number of students who have obtained more than 40
marks=%d\n Number of students who have obtained 40 or less marks=%d",a,b,c,d);
getch();
Given the marks in the three subjects, write a program to process the applications to list the
eligible candidates.
Solution:
#include
#include
void main()
{
int r,m,c,p,b;
clrscr();
scanf("%d%d%d",&m,&p,&c);
r=m+p+c;
b=m+p;
if(m>=60&&p>=50&&c>=40&&r>=200&&b>=150)
else
getch();
23
456
7 8 9 10
11………..15
79........ .. .. .. .. ..91
Solution:
/*……….Floyd’s triangle………..*/
#include
#include
void main()
int i,j,count,n;
clrscr();
count=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
count++;
printf("%d",count);
printf(" ");
printf("\n");
getch();
1
01
101
0101
10101
Solution:
/*……….Floyd’s triangle………..*/
#include
#include
void main()
int i,j,count,n;
clrscr();
count=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=2;j<=i+1;j++)
printf("%d",(i+j)%2);
printf(" ");
printf("\n");
}
getch();
EXERCISE-5.8 A cloth showroom has announced the following seasonal discounts on purchase
of items:
0-100 5%
101-200 5% 7.5%
Write a program using switch and if statements to compute the net amount to be paid by a
coustomer.
Solution:
/*………….marketing of a showroom………………*/
#define MC1 0
#include
#include
void main()
float price,net,discount;
int level,jobnumber;
clrscr();
input:
scanf("%d%d%f",&level,&jobnumber,&price);
if(0<=price<=100)
level=1;
else if(101<=price<=200)
level=2;
else if(201<=price<=300)
level=3;
else
level=4;
switch(level)
case 1:
discount=MC1+HI1;
break;
case 2:
discount=MC2+HI2;
break;
case 3:
discount=MC3+HI3;
break;
case 4:
discount=MC4+HI4;
break;
default:
goto stop;
net=price-(price*discount);
printf("Net amount=%f\n",net);
goto input;
getch();
EXERCISE-5.9 Write a program that will read the value of x and evaluate the following
function
y=
using
(a) nested if statements.
Solution:
(a)nested if statements:
#include
#include
void main()
float x,y;
clrscr();
printf("Input x\n");
scanf("%f",&x);
if(x!=0)
if(x>0)
printf("y=1");
if(x<0)
printf("y=-1");
if(x==0)
printf("y=0");
getch();
(b)else if statements:
#include
#include
void main()
float x,y;
clrscr();
printf("Input x\n");
scanf("%f",x);
if(x!=0)
if(x>0)
printf("1");
else
printf("-1");
else
printf("0");
getch();
}
(c)conditional operator:
#include
#include
void main()
clrscr();
float y,x;
printf("Input x\n");
scanf("%f",&x);
y=(x!=0)?((x>0)?1:-1):0;
printf("%d",y);
getch();
ax2+bx2+c=0
x1 and x2
The program should request for the values of the constants a,b and c print the values of x1
Test your program with appropriate data so that all logical paths are working as per your design.
Incorporate appropriate output messages.
Solution:
#include
#include
#include
void main()
float a,b,c,x,discriminant,root1,root2;
clrscr();
scanf("%f %f %f",&a,&b,&c);
discriminant=b*b-4*a*c;
if(a==0&&b==0)
printf("No solution\n");
else if(a==0)
x=-(c/b);
printf("x=%f",x);
else if(discriminant<0)
root1=-b+sqrt(discriminant)/2*a;
root2=-b-sqrt(discriminant)/2*a;
printf("Root1=%f Root2=%f",root1,root2);
getch();
EXERCISE-5.11: Write a program to read three integer values from the keyboard and displays
the output stating that they are the sides of right-angled triangle.
Solution:
/*………………right-angled triangle……..*/
#include
#include
void main()
int a,b,c,x,y,z;
clrscr();
scanf("%d%d%d",&a,&b,&c);
x=a*a;
y=b*b;
z=c*c;
if(a>b&&a>c&&(x==y+z))
printf("The values are sides of right-angled triangle");
else if(b>a&&b>c&&(y==x+z))
else if(c>a&&c>b&&z==x+y)
else
getch();
EXERCISE-5.12: An electricity board charges the following rates for the use of electricity:
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 names of users and number of units consumed and print out the charges with names.
Solution:
/*………….pay bill…………..*/
#include
#include
void main()
float units,total,net;
char name;
clrscr();
scanf("%s %f",&name,&units);
if(units<=200)
total=100+0.80*units;
else if(units<=300)
total=100+0.90*units;
else if(units>300)
total=100+1.00*units;
if(total>400)
net=total+total*0.15;
printf("Total=%f",net); }
else
printf("Total=%f",total);
getch();
EXERCISE-5.13: Write a program to compute and display the sum of all integers that are
divisible by 6 but not divisible by 4 and lie between 0 to 100. The program should also count and
display the number of such values.
Solution:
#include
void main()
int i,count;
count=0;
clrscr();
for(i=0;i<=100;i++)
if(i%6==0&&i%4!=0)
count=count+1;
printf(" %d",i);
printf(“\n”);
printf("count=%d",count);
getch();
EXERCISE-5.14 Write an interactive program that could read a positive integer number and
decide whether the number is a prime number display the output accordingly. Modify the
program to count all prime numbers that lie 100 to 200. [Note: A prime number is positive
integer that is divisible only by 1 or by itself]
Solution:
#include
void main()
int i,j,count;
count=0;
clrscr();
for(i=100;i<=200;i++)
for(j=2;j<=i;j++)
if(i%j==0)
break;
if(i==j)
printf("%4d\n",i);
count+=1;
getch();
}
EXERCISE-5.15: Write a program read a double-type value x that represents angle in radians
and a character-type variable t that represents the type of trigonometric function and display the
value of
Solution-1:
(i)if…else statement :
/*……………trigonometric function……….*/
#include
#include
#include
#include
void main()
float r,result;
s=1;
c=2;
t=3;
scanf("%d",&x);
r=x*(180/3.1416);
scanf("%d",&d);
if(d==1)
result=sin(r);
else if(d==2)
result=cos(r);
else if(d==3)
result==tan(r);
else
printf("no response.");
printf("\n%f",result);
getch();
Solution-2:
/*………….trigonometric function…………..*/
#include
#include
#include
void main()
{
int i,x;
float v,r;
char t;
clrscr();
scanf("%d",&x);
r=x*(180/3.1416);
printf("Input charecter");
scanf("%c",&t);
switch(t)
case 's':
case 'S':
v=sin(r);
case 'c':
case 'C':
v=cos(r);
case 't':
case 'T':
v=tan(r);
printf("%f",v);
getch();
}