В этом цикле есть проблема:
for (int i = 1; i <=n; i++)
{
l = pow(x,l+3);
}
Вы устанавливаете l
каждый раз, а затем в конце у него появляется значение последнего назначения, но вы хотели добавить их все. Кроме того, оно должно быть i
в вызове pow
, а не l+3
, вместо этого вы должны переместить этот шаг 3 на шаг цикла. Попробуйте это:
int l = 0;
for (int i = 1; i <= n; i+=3)
{
l += pow(x, i);
}
Также убедитесь, что вы инициализируете n
, вы, вероятно, должны прочитать его, используя scanf
, так же, как вы делаете с x
.
Также обратите внимание, что поскольку l
равно int
, оно будет обрезаться каждый раз. Если вы не хотите этого, вы должны объявить его как float
, а в зависимости от того, насколько точным должен быть результат, вы можете даже рассмотреть double
.