# 1.7. Exercises

**Exercise 1.1.** Type in and test Example 1.1 on your
system.

**Exercise 1.2.** Using Example 1.2 as a pattern, write a
program that prints prime pairs — a pair of prime numbers that differ
by 2, for example 11 and 13, 29 and 31. (If you can detect a pattern
between such pairs, congratulations! You are either a genius or just
wrong.)

**Exercise 1.3.** Write a function that returns an integer: the decimal
value of a string of digits that it reads using `getchar`

. For
example, if it reads 1 followed by 4 followed by 6, it will
return the number 146. You may make the assumption that the
digits 0–9 are consecutive in the computer's representation (the
Standard says so) and that the function will only have to deal with valid
digits and newline, so error checking is not needed.

**Exercise 1.4.** Use the function that you just wrote to read a sequence
of numbers. Put them into an array declared in main, by repeatedly calling
the function. Sort them into ascending numerical order, then print the
sorted list.

**Exercise 1.5.** Again using the function from Exercise 1.3, write a
program that will read numbers from its input, then print them out in
binary, decimal and hexadecimal form. You should not use any features of
`printf`

apart from those mentioned in this chapter (especially
the hexadecimal output format!). You are expected to work out what digits
to print by calculating each one in turn and making sure that they are
printed in the right order. This is not particularly difficult, but it is
not trivial either.