How to make a function that tell us about grades using Matlab

116 次查看(过去 30 天)
Hi every one; I going to make a function called letter_grade that takes a positive integer called score as its input argument and returns a letter grade according to the following scale: A: 91 and above; B: 81-90; C: 71-80; D: 61-70; F: below 61. Remember that to assign a letter to a variable, you need to put it in single quotes, as in: grade = 'A'. when i run the below codes i got grade 'B' for score 95.which in not correct.Kindly guide me how can i correct this code. Please vote up if this question help!
function grade=letter_grade(n)
if n >= 91 && n>=100
grade='A';
elseif n >= 81 && n>=90
grade='B';
elseif n >= 71 && n>=80
grade='C';
elseif n >= 61 && n>=70
grade='D';
elseif n <61
grade='F';
end
end
  2 个评论
Murali Krishna
Murali Krishna 2015-5-26
Grade B is defined when n is between 81 and 90 both inclusive. if n>81 and n<=90 grade should be B. But in your code you have written the condition as n>=81 and n>=90. The same error is for finding other grades.
Jan
Jan 2018-12-28
@Goshom Brian and Qahar Mustafa: Please do not use flags to post comments. Thanks.

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2015-5-26
Try it this way:
function grade=letter_grade(n)
if n >= 91
grade='A';
elseif n >= 81
grade='B';
elseif n >= 71
grade='C';
elseif n >= 61
grade='D';
else
grade='F';
end
end
  4 个评论
Image Analyst
Image Analyst 2021-7-1
@Muhammad Aamir Hayat, did you try it yourself first? I imagine you did. Did you get something like this:
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
for n = 55:10:95
grade=letter_grade(n);
fprintf('A score of %d is an "%s".\n', n, grade);
end
fprintf('Done! Thanks Image Analyst!\n');
%=========================================================================
function grade=letter_grade(n)
n2 = floor( (n-1) / 10);
switch n2
case {9, 10}
grade='A';
case 8
grade='B';
case 7
grade='C';
case 6
grade='D';
otherwise
grade='F';
end
end
A score of 55 is an "F".
A score of 65 is an "D".
A score of 75 is an "C".
A score of 85 is an "B".
A score of 95 is an "A".
Done! Thanks Image Analyst!

请先登录,再进行评论。

更多回答(1 个)

SY
SY 2021-8-4
What's the meaning of this program?
function [Average, StandardDeviation ] = F1_91(Scores)
% Prompt user to input grades(scores)
Scores = input('Enter Grades: ');
%Calculating average of grades
X = mean(Scores)
% Rounding off to nearest integer
Average = round(X)
% Calculating standard deviation of grades
SDD = std(Scores)
% Rounding off to nearest integer
StandardDeviation = round(SDD)
end
  2 个评论
Image Analyst
Image Analyst 2021-8-5
It simply computes the rounded standard deviation of a set of rounded numbers. Not sure what you mean by "meaning"? It's probably someone's homework answer.
Walter Roberson
Walter Roberson 2021-8-5
It is someone's wrong homework answer at that. It should not pass in Scores and then overwrite Scores with the input()

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Install Products 的更多信息

产品


版本

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by