Hola, vi tu pregunta y me interesó, igual que tú apenas ando aprendiendo (aunque ya tenía callo en otro lenguaje) y agarré tu problem de ejercicio, modifiqué algo el código, la tabla se genera dinámicamente. La tabla está en bruto, pero con una hoja de estilos te queda bien chula. Espero sirva.
Código PHP:
//
<html>
<head><title>Ejercicio de JavaScript</title>
<script>
function cuantosInput()
{
//asignación de variables
var selectItem = document.getElementById("opciones");
var cuantos = parseInt(selectItem.options[selectItem.selectedIndex].value);
var tablaD = document.getElementById("tablaDinamica");
//este es el array de tus preguntas
var preg = new Array("Nombre","Edad","Sexo","Ciudad","Pais");
//llenando la tabla dinámica
var almacenaTabla = '';
if(cuantos>0){
almacenaTabla = '<table><tr>';
for(var i=0;i<cuantos;i++)
almacenaTabla += '<td>'+preg[i]+'</td><td><input type="text"></td></tr><tr>';
almacenaTabla += '<td><input type="submit"></td></tr></table>';
}//end if cuantos
tablaD.innerHTML = almacenaTabla;
}//end function cuantosInput
</script>
</head>
<body>
<form action="#" onSubmit="alert('Información enviada, ¡Gracias!')">
¿Cuántos campos quieres?
<select id="opciones" onChange="cuantosInput()" selected>
<option value="0">- Elige una Opción -
<option value="3">Tres Campos
<option value="4">Cuatro Campos
<option value="5">Cinco Campos
</select>
<div id="tablaDinamica"></div>
</form>
</body>
</html>