我有一个关于以我需要的方式显示输出的问题,首先让我展示我正在尝试做什么
我正在努力解决的问题:
编写一个名为printaltsum的函数,它接受一个整数并将1之和打印到整数,其中加法和减法是交替的。
例如 - printaltsum(4)必须显示完全以下内容:
1 = 1
1 + 2 = 3
1 + 2-3 = 0
1 + 2-3 + 4 = 4
请指导我正确的方向,我已经能够解决这个问题以获得最终值,但我无法让它显示它需要的格式(我得到的只是方程式的右侧)和最终价值作为答案)。
当我打电话给我的功能时,它会显示:
printaltsum(4)
1
3
0
4
ans =
4
你可以看到我无法显示方程式,只能显示它的右侧和最终答案
这是我的代码:
function sum = printaltsum(n)
sum=0;
for i=1:n;
if i==1
sum=1;
end
if rem(i,2)==0 && i ~=1
sum=sum+i;
end
if rem(i,2)==1 && i ~=1
sum=sum-i;
end
disp(sum)
end
end
答案 0 :(得分:1)
你需要组装String来显示你的内容,matlab不会这样做。 所以只需在文本中添加相同的每个操作。
首先初始化一个空字符串:
str='';
当你对总和做一些事情时,你对文本中的字符串做同样的事情,例如:
sum=1; % setting sum to 1
str='1'% the same in text
或在循环内部:
sum=sum+i; % adding i to sum
str=[str '+' num2str(i)]% the same in text
在循环结束时,您可以显示字符串:
disp(str)
希望这有帮助