matlab 处理数据(还有加分)
对于一个数组0 1 2 3 0 0 0 0 1 2 5 7 8 0 7 8 6 5 0 4 2 6 0 5 4 0 每有两个零之间存在非零数,那么这一段数称为一个片段,比如0 1 2 3 0称为一个片段,0 0 0 0不能称为一个片段,上面数组一共有5个片段.
参考答案:clear;
data = [0 1 2 3 4 0 5 0 6 0 0 0 1 2 5 7 8 0 7 8 6 5 0 4 2 6 0 5 4 0];
i = 1;
zeroA = 0;
zeroB = 0;
count = 0;
for(i = 1:length(data))
if (data(i) == 0)
zeroB = zeroA;
zeroA = i;
end
if (zeroA > zeroB + 1)
count = count + 1;
zeroB = zeroA;
end
end
count
最后count则是答案了