Calculating grades in a while loop

If I have a array of students grade scores, score=[82, 75, 78, 82, 90, 87], and i want to calculate the number of A's, B's. How would i do that for example to be a grade of A it must be greater or equal to 90, which on the score is shows 2. How can i output that which it will give me the value of 2, as well as for b which would give me 3 which is greater or equlat to 80.

回答 (2 件)

Jakob B. Nielsen
Jakob B. Nielsen 2020 年 2 月 13 日

0 投票

You don't need a while loop for that - it is easy with logic indexing, like so:
score=[82 75 78 82 90 87];
A=score(score>=90); %take the indexes of score, for which that same index of score is greater than or equal to 90.
numA=numel(A);
B=score(score>=80 & score<90);
numB=numel(B);

3 件のコメント

Angel Sanchez
Angel Sanchez 2020 年 2 月 13 日
correct but on my hw problem its mentioning using a loop.
Jakob B. Nielsen
Jakob B. Nielsen 2020 年 2 月 13 日
Weird homework to ask you to do more than you need. You should be cheeky, and hand in the above solution as well as the loop :D
Must it be a while loop, specifically, or can it be a for loop?
Angel Sanchez
Angel Sanchez 2020 年 2 月 13 日
yes a while loop

サインインしてコメントする。

カテゴリ

ヘルプ センター および File ExchangeLoops and Conditional Statements についてさらに検索

質問済み:

2020 年 2 月 13 日

コメント済み:

2020 年 2 月 13 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by