【发布时间】:2015-12-02 15:27:16
【问题描述】:
我有一个 if...elseif...elseif...block,我认为我只需要一个“结束”在最后。但是,除非我结束每个单独的“elseif”语句,否则我会收到错误消息。代码如下:
if final_grade >= 90;
letter_grade='A+';
else if final_grade < 90 & final_grade > 80;
letter_grade='A';
else if final_grade < 80 & final_grade >= 76;
letter_grade='B+';
else if final_grade < 76 & final_grade >= 73;
letter_grade='B';
else if final_grade < 73 & final_grade >= 70;
letter_grade='B-';
else if final_grade < 70 & final_grade >= 60;
letter_grade='C+';
else if final_grade < 60 & final_grade >= 50;
letter_grade='C';
else if final_grade < 50 & final_grade >= 40;
letter_grade='D';
else if final_grade < 50 || exam_grade < 50;
letter_grade='F';
else if exam_grade < 50
letter_grade = 'F';
end
end
end
end
end
end
end
end
end
end
出于某种原因,这是我的代码工作的唯一方式。如果我只写一个“结束”,MATLAB 会告诉我缺少一个或多个结束。有谁知道如何将其压缩到一个最终的“结束”?
【问题讨论】:
-
Reading the documentation 可能会有所帮助。
-
加上最后一行没有用,因为上面已经检查过了 (
exam_grade<50) -
对于您的
elseif条件,您不需要检查上限,因为之前的条件会匹配。这假设您的条件顺序正确。
标签: matlab