C solution for problem 3