## Description

Q.1 Consider an employee details are being stored through a C structure that contains the

name of the employee, his/her employee ID and the salary. Write a C program that

prints the employee names whose salary is less than a target salary (user input).

Q.2 Define a structure named census with the following three members:

1. A character array city [ ] to store the city name

2. An integer to store the population of the city

3. A float member to store the literacy level

Write a program to do the following:

a. To read the details of 5 cities using an array of structures.

b. To sort the records based on literacy level and display.

Q.3 Write a C program to create a menu driven program (using switch case) that depicts

the working of a library. Create a structure called library to hold the accession

number, title of the book, author name, price of the book, and flag indicating whether

book is issued or not. Write the functions to:

1. Add book information

2. Display all books information

3. List all books of given author

4. List the count of books currently available in the library of the given title.

5. Exit

Note: Google might help you to understand menu driven program.

Q.4 Define a structure to store the name, an array marks [ ] which stores the marks of five

different subjects and a character grade. Write a program to read and display the

details of the student whose name is entered by the user.

Q.5 Modify Q.4 to print each student’s average marks, subject-wise class average (that

includes average of all the students’ marks).

Q.6 Given the details of n employees (employee name and salary), write a C program

which sorts the employee names according to the length (no of characters) of their

names. If the lengths of employee names are same, then break the tie by alphabetical

order. Finally, display the details of employees in the above mentioned order. You

are free to use library functions under “string.h”.

Q.7 Define a structure that can describe a point in 2-D. A circle in 2D can be specified by

its centre (a point) and radius. Define a structure that can describe a circle in 2D.

Write a C function that does the following. It accepts a circle and a point as

arguments. It returns 1 if the point lies inside the circle but returns 0 otherwise.

Q.8 Construct a structure variable pt which represents a point in Cartesian xy-plane.

Using pt, construct a structure variable tri which represents a triangle in the xy-plane.

Write a C function which accepts a triangle as argument and returns the perimeter of

the triangle. Pick the endpoints of each side and calculate, d =

√(x1 − x2)2 + (y1 − y2)2 The distance between those endpoints gives you the

length of that side. When you have the lengths of all three sides, add them together

to get the perimeter. Write the separate function to calculate the distance d between

two co-ordinates.

Q.9 A polynomial can be represented in a structure with the following members:

1. a float array to store the coefficients

2. an integer to store the degree of the polynomial (highest power in polynomial)

For example, a polynomial 2.3 x4

– 4x + 1.6 has degree, d = 4 and coefficients are

{2.3, 0, 0, -4, 1.6} to be stored in an array. The missing term’s coefficients are

denoted by zero in this array. Represent this structure in C language.

(a) Write a function to read and store the polynomial using structure defined above.

This function should return the polynomial read.

(b) Write a function to add two polynomials p and q represented in the same structure.

Assume both p and q have same degree.

(c) Write a function which takes as parameters a polynomial and value of x and

evaluates the polynomial using Horner’s rule:

a0 x

0

+ a1 x

1

+ a2 x

2

+ a3 x

3

+ a4 x

4

= a0 + x (a1 + x (a2 + x (a3 + x (a4)))) and so on.

The function should return the result calculated from the right hand side

expression.

Q.10 Create a database of (at least 5) students using structures, where in each entry of the

database will have the following fields:

1. a name, which is a string with at most 128 characters

2. their marks in physics which is an int between 0 and 100

3. their marks in chemistry which is an int number between 0 and 100

4. their marks in mathematics which is an int number between 0 and 100

You have to output a list of students in the following order.

1. if a student ‘A’ has lower marks in physics than a student ‘B’, then A’s data is listed

before B.

2. If A and B have the same physics marks and A has lower chemistry marks than B,

then A is listed before B.

3. If A and B have the same marks in physics and chemistry, and A has lower marks

in mathematics than B, then A is listed before B.

4. If all marks are equal and A’s name precedes B’s name in the dictionary order, then

A is listed before B.

Note: You are free to use library functions under “string.h”. Maintain the separate

function to sort/decide ordering.