如果有多个正确答案,如何打印一次? (MATLAB)
How to print ONCE if there are multiple correct answers? (MATLAB)
所以我有 arr = randi([0,20],20,1)。我想证明:如果数字小于 5,则 fprintf('Yes\n') 只执行一次。我正在使用 for 循环(for i = 1 : length(arr))并对其进行索引。
您可以在找到小于 5 的第一个值并打印 Yes
语句后使用 break
语句。
使用 break
语句:
arr = randi([0,20],20,1);
for i = 1: length(arr)
if arr(i) < 5
fprintf("Yes\n");
break;
end
end
分机:
通过使用any()
函数:
或者,如果您想在不需要 for-loop 的情况下简化它,则可以使用 any()
函数来确定数组中的任何值是否满足这种情况下的条件arr < 5
.
arr = randi([0,20],20,1);
if(any(arr < 5))
fprintf("Yes\n");
end
通过使用 While 循环:
Check = 0;
arr = randi([0,20],20,1);
i = 1;
while (Check == 0 && i < length(arr))
if arr(i) < 5
fprintf("Yes\n");
Check = 1;
end
i = i + 1;
end
根据您的描述,也许您需要 for
循环中的 if
语句,如下所示
for i = 1:length(arr)
if arr(i) < 5
fprintf('Yes\n');
break
end
end
如果想打印一次Yes
,可以试试
if any(arr < 5)
fprintf('Yes\n')
endif
如果您不想使用 break
,下面的代码可能是一个选项
for i = 1:min(find(arr <5))
if (arr(i) < 5)
fprintf('Yes\n');
end
end
所以我有 arr = randi([0,20],20,1)。我想证明:如果数字小于 5,则 fprintf('Yes\n') 只执行一次。我正在使用 for 循环(for i = 1 : length(arr))并对其进行索引。
您可以在找到小于 5 的第一个值并打印 Yes
语句后使用 break
语句。
使用 break
语句:
arr = randi([0,20],20,1);
for i = 1: length(arr)
if arr(i) < 5
fprintf("Yes\n");
break;
end
end
分机:
通过使用any()
函数:
或者,如果您想在不需要 for-loop 的情况下简化它,则可以使用 any()
函数来确定数组中的任何值是否满足这种情况下的条件arr < 5
.
arr = randi([0,20],20,1);
if(any(arr < 5))
fprintf("Yes\n");
end
通过使用 While 循环:
Check = 0;
arr = randi([0,20],20,1);
i = 1;
while (Check == 0 && i < length(arr))
if arr(i) < 5
fprintf("Yes\n");
Check = 1;
end
i = i + 1;
end
根据您的描述,也许您需要 for
循环中的 if
语句,如下所示
for i = 1:length(arr)
if arr(i) < 5
fprintf('Yes\n');
break
end
end
如果想打印一次Yes
,可以试试
if any(arr < 5)
fprintf('Yes\n')
endif
如果您不想使用 break
,下面的代码可能是一个选项
for i = 1:min(find(arr <5))
if (arr(i) < 5)
fprintf('Yes\n');
end
end