Поскольку изображение ожидаемого вывода не может быть выделено, я не могу быть уверен на 100%, но похоже, что каждое число имеет фиксированную ширину 4 символа.
Следовательно, как я вижу вывод:
Fibonacci sequence: ---1 ---1 ---2 ---3 ---5 ---8 --13 --21 --34 --55
, где -
здесь указывает заполненные пробелы.
Чтобы сделать это изменение, ваши строки печати должны измениться примерно так:
g=sprintf(" %4d", x);
fprintf("Fibonacci sequence: %s\n", g)
В сторону: функция должна предварительно выделить память для x
для лучшего управления памятью. В MATLAB это было бы что-то вроде:
a=0;
b=1;
x = zeros(1, n); % This reserves memory for n numbers
x(:,1)=[1];
... % your code below
Кроме того, поскольку x
спроектирован как одномерный массив, вероятно, было бы проще просто использовать
x(i) = c
вместо чего-то вроде
x(:,i) = [c]