C language problem set (revised) answer