C programming challenges