C solution to problem 5