Ну если выше ваша попытка перенести на си, то:
if i+1<=x:
это так не работает, условие должно быть в круглых скобках (if это оператор), двоеточие не нужно:
if (i+1<=x)
int a[0]*x;
Вот это я вообще не понял и 99% что это не будет работать. Просто почитайте в гугле как в си инициализировать массив переменной длины.
И да - в тегах c++, в вопросе c - вы определитесь
P.S. Логику не проверял вообще, чисто синтаксис. Кстати в цикле тоже ошибка - и тоже просто советую загуглить цикл for