clear; while true score = input('请输入成绩:'); if floor(score) ~= score disp('输入成绩必须为整数,请重新输入!'); if score>100 && score<0 disp('输入成绩要在0到100之间,请重新输入!'); end else break; end end第二个if语句未被执行
时间: 2024-03-17 09:46:34 浏览: 111
在这段代码中,第二个 if 语句的判断条件是 `score>100 && score<0`,这个条件永远不可能成立,因为一个数不可能同时大于 100 和小于 0。因此,无论用户输入什么值,这个 if 语句都不会被执行。
在这种情况下,可以将第二个 if 语句的判断条件修改为 `score>100 || score<0`,这样就可以判断输入的成绩是否在 0 到 100 的范围内了。修改后的代码如下:
```
clear;
while true
score = input('请输入成绩:');
if floor(score) ~= score
disp('输入成绩必须为整数,请重新输入!');
elseif score > 100 || score < 0
disp('输入成绩要在0到100之间,请重新输入!');
else
break;
end
end
```
这样,当用户输入小数或字符时,程序会提示用户重新输入;当用户输入的成绩不在 0 到 100 的范围内时,程序也会提示用户重新输入。只有当用户输入的成绩为整数且在 0 到 100 的范围内时,程序才会退出循环。
阅读全文