php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。
为什么不论我输的成绩是多少,结果都是优秀呢?代码如下:<?phpswitch($score=43){case"$score>=90&&$score<=100":echo"...
为什么不论我输的成绩是多少,结果都是优秀呢?代码如下:
<?php
switch ($score=43)
{
case "$score>=90&&$score<=100":
echo"优秀<br>";
break;
case "$score>=80&&$score<90":
echo"良好<br>";
break;
case "$score>=70&&$score<80":
echo"中等<br>";
break;
case "$score>=60&&$score<70":
echo"及格<br>";
break;
case "$score>=0&&$score<60":
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
break;
}
?> 展开
<?php
switch ($score=43)
{
case "$score>=90&&$score<=100":
echo"优秀<br>";
break;
case "$score>=80&&$score<90":
echo"良好<br>";
break;
case "$score>=70&&$score<80":
echo"中等<br>";
break;
case "$score>=60&&$score<70":
echo"及格<br>";
break;
case "$score>=0&&$score<60":
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
break;
}
?> 展开
4个回答
展开全部
<?php
switch ($score=43) // 这里不能放表达式的
{
case "$score>=90&&$score<=100": // 这里好像也不能这样
echo"优秀<br>";
break;
case "$score>=80&&$score<90": // 这里好像也不能这样
echo"良好<br>";
break;
case "$score>=70&&$score<80": // 这里好像也不能这样
echo"中等<br>";
break;
case "$score>=60&&$score<70": // 这里好像也不能这样
echo"及格<br>";
break;
case "$score>=0&&$score<60": // 这里好像也不能这样
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
break;
}
// 我觉得判断成绩的,最好用 if 语句,因为 switch 是要具体捕捉某一个值的,不是很适用于大范围的判断
// 还有的是,从输入框输入的是一个字符串,虽然你输入的是数字,但它也会当作字符串来处理
// 有说得不对的,请见谅,,,,
?>
switch ($score=43) // 这里不能放表达式的
{
case "$score>=90&&$score<=100": // 这里好像也不能这样
echo"优秀<br>";
break;
case "$score>=80&&$score<90": // 这里好像也不能这样
echo"良好<br>";
break;
case "$score>=70&&$score<80": // 这里好像也不能这样
echo"中等<br>";
break;
case "$score>=60&&$score<70": // 这里好像也不能这样
echo"及格<br>";
break;
case "$score>=0&&$score<60": // 这里好像也不能这样
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
break;
}
// 我觉得判断成绩的,最好用 if 语句,因为 switch 是要具体捕捉某一个值的,不是很适用于大范围的判断
// 还有的是,从输入框输入的是一个字符串,虽然你输入的是数字,但它也会当作字符串来处理
// 有说得不对的,请见谅,,,,
?>
展开全部
格式错误了,应该是这样的:
<?php
switch ($score)
{
case 0:
"$score>=90&&$score<=100":
echo"优秀<br>";
break;
case 1:
"$score>=80&&$score<90":
echo"良好<br>";
break;
case 3:
"$score>=70&&$score<80":
echo"中等<br>";
break;
case 4:
"$score>=60&&$score<70":
echo"及格<br>";
break;
case 5:
"$score>=0&&$score<60":
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
}
?>
因为我这里没有PHP环境所以也就没测试,但应该就是这样的了,。
<?php
switch ($score)
{
case 0:
"$score>=90&&$score<=100":
echo"优秀<br>";
break;
case 1:
"$score>=80&&$score<90":
echo"良好<br>";
break;
case 3:
"$score>=70&&$score<80":
echo"中等<br>";
break;
case 4:
"$score>=60&&$score<70":
echo"及格<br>";
break;
case 5:
"$score>=0&&$score<60":
echo"不及格<br>";
break;
default:
echo"成绩输入错误<br>";
}
?>
因为我这里没有PHP环境所以也就没测试,但应该就是这样的了,。
更多追问追答
追问
可是成绩是要从哪里来的?我是初学者,除了在代码中自己输入成绩还不会其他的!而且我刚试过了不写入成绩,结果还是优秀。。。。为啥呢?
追答
=90 && $score";
break;
case $score>=80 && $score";
break;
case $score>=70 && $score";
break;
case $score>=60 && $score";
break;
case $score>=0 && $score";
break;
default:
echo"成绩输入错误";
}
?>
好久没用SWITCH了,都有点忘记格式了,这个有用了,刚安装环境,亲测过的,。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$newScore = intval($score/10);
switch $newScore {
case 9:
echo '优秀';
break;
case 8:
case 7:
case 6:
echo '良好';
break;
default:
echo '不及格';
}
switch $newScore {
case 9:
echo '优秀';
break;
case 8:
case 7:
case 6:
echo '良好';
break;
default:
echo '不及格';
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case 后面的条件不要加引号,再一个你那个switch($score=43)是怎么回事?调试?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询