# 2.6. Exercises#

Many of these exercises are taken from past exams of APS105 Computer Fundamentals courses at University of Toronto. The solutions are provided in the answer boxes.

## 2.6.1. Math library Functions#

### 2.6.1.1. Practice 1#

Question 1 in Winter 2020 Final Exam

Write a single C statement using no curly brackets that rounds a double-type variable named value to its nearest hundredths place, and assign the result to a new double-type variable named approximateValue. For example, rounding 0.843 to the nearest hundredth would give 0.84. You can use any of the C math library functions. Write your solution in the box below

### 2.6.1.2. Practice 2#

Modified Version of Question 3 in Fall 2014 Midterm

Write a single C statement that will compute the value of r according to the following expression, and assign the value to r.

$$r = \frac{x^n + 6 \times x^4}{\sin(y) + \cos(z)}$$

You can assume that all the variables in the expression are already declared as double types, and that the math library (described by the header file math.h) is available, and that the value of y and z is in radians.

### 2.6.1.3. Practice 3#

Question 5 in Winter 2018 Midterm Exam

The variable numApples is an int type variable representing the number of apples in a barrel. The owner of the apples is deciding whether to sell them in packages of $$3$$ or $$5$$ apples. Write a single C statement that declares and initializes an int type variable called leftover. leftover should be initialized to the minimum of two quantities: 1) the number of apples left over when the barrel of apples is packaged into groups of $$3$$; 2) the number of apples left over when the barrel of apples is packaged into groups of $$5$$.

Hint: Use a function in the math library

### 2.6.1.4. Practice 4#

Question 8 in Winter 2019 Midterm Exam

If you have a certain number of US dollars and wish to convert them to Canadian dollars, you could use the Canadian dollar to US dollar exchange rate (for example: 1 Canadian dollar = $$0.75$$ US dollar). Write a complete C program that prompts its user for the current Canadian dollar to US dollar exchange rate (e.g. $$0.75$$) and a value in US dollars, and then prints the value in Canadian dollars, rounding to the nearest hundredth. Your program will print the value with $$6$$ digits after the decimal point. Assume the user provides a valid exchange rate and US dollar amount.

Here is an example run of your program:

Enter the exchange rate (1 CAD = ? USD): 0.75
Enter the value in US dollars: 56
The value in Canadian dollars is 74.670000.


## 2.6.2. Random Number Generation#

### 2.6.2.1. Practice 1#

Question 2 in Fall 2018 Final Exam Write a single C statement that generates a random even number in the range of [-150, 150] (inclusive), and uses it to declare and initialize an int-type variable randomChoice.

### 2.6.2.2. Practice 2#

Question 2 in Winter 2017 Final Exam

Write a single C statement that declares a double variable randomSelection, and initializes it with a number that is randomly selected from the following set: 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95.

### 2.6.2.3. Practice 3#

Question 2 in Fall 2022 Final Exam

Write a single C statement that declares a char variable called randomCharacter, and initializes it to a random value draw from one of the three characters: ‘A’, ‘B’, ‘C’.