用PHP函数排学生成绩问题

1.学生成绩0-59不及格,60-70普通成绩70-80良好80-90优秀90-100优异。现在有三个学生a,b,c,成绩分别是50分80分95分,判断这三个学生分别属于... 1.学生成绩0-59不及格,60-70 普通成绩 70-80 良好 80-90 优秀 90-100 优异。现在有三个学生a,b,c,成绩分别是50分 80分 95分,判断这三个学生分别属于哪类。
2.班级有一百名学生,分数区间0-100分。随机生成一百位学生的成绩,学生名称S1-----S100,学生成绩0-59不及格,60-70 普通成绩, 70-80 良好, 80-90 优秀, 90-100 优异,然后判断该学生分数所在档次。

说明:是用PHP函数,代码要如写,最好要有思路,谢谢。
展开
 我来答
浙江失乐园网络
2016-07-12 · 超过21用户采纳过TA的回答
知道答主
回答量:52
采纳率:50%
帮助的人:51.4万
展开全部
<?php
/*
1.学生成绩0-59不及格,60-70 普通成绩 70-80 良好 80-90 优秀 90-100 优异。现在有三个学生a,b,c,成绩分别是50分 80分 95分,判断这三个学生分别属于哪类。

首先,各类别分数设定不严谨,正确应该为:0-59不及格,60-69普通,70-79良好,80-89优秀,90-100优异
*/

echo "学生a类型为:" . getLevel(50) . '<br />'; // 学生a,方便演示加了一个 <br /> 换行符
echo "学生b类型为:" . getLevel(80) . '<br />'; // 学生b,方便演示加了一个 <br /> 换行符
echo "学生c类型为:" . getLevel(95) . '<br />'; // 学生c,方便演示加了一个 <br /> 换行符

/*
2.班级有一百名学生,分数区间0-100分。随机生成一百位学生的成绩,学生名称S1-----S100,学生成绩0-59不及格,60-70 普通成绩, 70-80 良好, 80-90 优秀, 90-100 优异,然后判断该学生分数所在档次。

同样,各类别分数设定不严谨,正确应该为:0-59不及格,60-69普通,70-79良好,80-89优秀,90-100优异
*/

// 获取随机生成分数数组
$scores = getRandscore(100);
// 循环处理类型
foreach ($scores as $key => $value) {
echo "学生S{$key}分数为:" . $value . ",类型为:" . getLevel($value) . '<br />'; // 方便演示加了一个 <br /> 换行符
}


/* 定义自定义函数 */

/**
 * 随机生成分数
 * 
 * @param int $number 学生人数
 * @return array
 */
function getRandscore($number = 0) {
// 定义数组
$scores = array();
// FOR 循环
for ($i = 1; $i <= $number; $i++) {
$scores[$i] = rand(0, 100);
}
// 输出结果
return $scores;
}

/**
 * 按分数获取等级
 * 
 * @param int $score 分数
 * @return string
 */
function getLevel($score = 0) {
if ($score <= 0) {
$i = 1; // 如果小于或等于0分,直接设定为第一级别,不及格
} elseif ($score >= 100) {
$i = 5; // 如果大于等于100分,直接设定为最高级别,优异
} else {
// 定义等级分数线,格式 array(等级1 => array(当前级别最低分数,当前级别最高分数))
$_score = array('1' => array(0, 59), '2' => array(60, 69), '3' => array(70, 79), '4' => array(80, 89), '5' => array(90, 100));
// 其他分数进行FOR循环判断,$i 值为 1 - 5
for ($i = 1; $i < 6; $i++) {
if ($score >= $_score[$i][0] && $score <= $_score[$i][1]) {
break; //中断循环判断
}
}
}
// 定义等级文字
$_level = array( '1' => '不及格', '2' => '普通', '3' => '良好', '4' => '优秀', '5' => '优异');
// 输出结果
return $_level[$i] ? $_level[$i] : '其他';
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式