Olá Whicker Man, a função realmente está dentro de um loop, o trecho de código é o seguinte: for ( l=0; l<n; l++ ) { gotoxy ( 1, (l+1)*3 ); printf ( "Entre com os valores da %d.a expressao", l+1 ); gotoxy ( 1, ((l+1)*3)+1 ); for ( i=0; i<n; i++ ) { printf ( "x%d=", i+1 ); // informe x1, x2, x..., xn scanf ("%f", &a[l]; gotoxy ( (i+1)*10, ((l+1)*3)+1 ); if ( i == (n-1) ) { printf ( "termo indep. = " ); scanf ( "%f", &b[l] ); } } } nas duas chamadas de scanf f a leitura é realizada de trocar o "%f" por "%d", mas nesse caso terá problemas nos cálculos mais adiante, já que resultará em ponto flutuante, e ele só considerara a parte inteira, não sei porque não le como ponto flutuante. valeu galera, espero sugestões.