У меня есть небольшая проблема на моей домашней работе здесьТестирование рекурсивные функции - C
мне просто нужно написать рекурсивную функцию, чтобы проверить это соотношение
f(x,y)=x if y==1
иначе
f(x,y) = x + f(x,y-1)
Вот мой источник, я не могу заставить его правильно распечатывать.
Обратите внимание, что у меня есть пользователь, который вводит X и Y для проверки.
#include <stdio.h>
int f (int x,int y);
int main (void)
{
int x, y, z;
printf ("\nEnter x: ");
scanf ("%d", &x);
printf ("\nEnter y: ");
scanf ("%d", &y);
x=f(x,y);
return 0;
}
int f (int x,int y)
{
if (y==1)
{
return x;
}
else
{
return (x + f(x,y-1));
}
}
Ваш код не имеет смысла. Ваша функция принимает три параметра, но вы пропускаете только два. Ваш прототип (в основном) задается * после * вызова функций. Переместите прототип выше основного. И, что хуже всего, ваша «рекурсивная» функция никогда не называет себя *! – ooga
Где вы использовали рекурсию? –
Функция f должна называть себя основной, но я также не уверен, как это сделать. – csheroe