php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。相关的知识,希望对你有一定的参考价值。

为什么不论我输的成绩是多少,结果都是优秀呢?代码如下:
<?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;


// 我觉得判断成绩的,最好用 if 语句,因为 switch 是要具体捕捉某一个值的,不是很适用于大范围的判断

// 还有的是,从输入框输入的是一个字符串,虽然你输入的是数字,但它也会当作字符串来处理

// 有说得不对的,请见谅,,,,
?>
参考技术A 格式错误了,应该是这样的:
<?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了,都有点忘记格式了,这个有用了,刚安装环境,亲测过的,。

追问

万分感谢!已经运行成功了。不过,我没用这句话也不明白:header("content-type:text/html;charset=utf8");

用了这句运行结果是乱码但不报错。删了这句就很好的运行了!thank you

追答

header("content-type:text/html;charset=utf8");
这句是声明网页编码为utf8,要是有乱码,删除即可。

本回答被提问者采纳
参考技术B $newScore = intval($score/10);
switch $newScore
case 9:

echo '优秀';

break;

case 8:

case 7:

case 6:

echo '良好';

break;

default:

echo '不及格';

参考技术C case 后面的条件不要加引号,再一个你那个switch($score=43)是怎么回事?调试?

BMI指数

1 问题

If-else与Switch都可以作为条件语句,但其用法有一定不同。

2 方法

首先给定一个让用户输入成绩的Scanner语句,判断学生成绩分别在1-5各个情况不同的输出。分别使用if-else和Switch运行,观察语句使用的区别。

当if-else运行时:

当Switch运行时:

当Switch运行时的代码:
package homework;

import java.util.Scanner;

public class W1b2
public static void main(String[] args)
       Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生成绩:");
       int score = scanner.nextInt();
       switch (score)
case 1:
               System.out.println("不及格");
               break;
           case 2:
               System.out.println("及格");
               break;
           case 3:
               System.out.println("中等");
               break;
           case 4:
               System.out.println("良好");
               break;
           case 5:
               System.out.println("优秀");
               break;


 
当if-else运行时的代码:
package homework;

import java.util.Scanner;

public class W1b
public static void main(String[] args)
       Scanner scanner = new Scanner(System.in);
System.out.println("请输入学生成绩:");
       int score = scanner.nextInt();
       if (score == 1)
           System.out.println("不及格");

if (score == 2)
           System.out.println("及格");

if (score == 3)
           System.out.println("中等");

if (score == 4)
           System.out.println("良好");

if (score == 5)
           System.out.println("优秀");

   

3 结语

If-else与的区别:

1.if可以用于判断数值,也可以判断区间,当匹配到if里的值会直接输出结束。
2.switch用于对固定的几个值进行判断,判断的值的类型有限,当匹配到case的值会使用break停止。

以上是关于php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。的主要内容,如果未能解决你的问题,请参考以下文章

php语言编写switch判断成绩代码。分别输出优秀、良好、中等、及格和不及格。

用switch语句怎样判断成绩的等级

c语言 输入一个学生成绩,判断优、良、及格?

c语言成绩等级编写

怎么用php语言,根据表单中输入的学生成绩判断成绩等级,并输出?

BMI指数