我遇到了问题,我想创建一个算法来解决它。但我想知道我的计算是否正确还是我应该改进它。这是算法问题:
创建一个计算学生成绩的算法。该等级等于未成年考试的三分之一和主要考试的三分之二。打印学生成绩。
我创建的算法是:
grade = 1/3 * minor exam + 2/3 * major exam
。我不知道我的公式是否正确。
答案 0 :(得分:1)
我不知道我的公式是否正确。
从数学上讲 - 这确实是你描述的问题的公式。但请注意,在许多语言中,1/3 * minor exam + 2/3 * midterm exam
将被解析为整数算术运算,这将导致错误答案(始终为0)。
原因是,在整数运算中,在计算a/b
时,返回的答案为floor(a/b)
(其中floor(.)
是最接近的不是更高的整数)。
为了确保不会发生这种情况 - 确保将您的数字转换为浮点数,并使用浮点数算术 - 虽然它们也有不准确的问题,但在处理这样一个小公式时很少出现问题相对较低的数字(绝对值)。