verchiel


私信TA

用户名:verchiel

访问量:2618

签 名:

等  级
排  名 23066
经  验 602
参赛次数 0
文章发表 4
年  龄 0
在职情况 学生
学  校 北京理工大学
专  业

  自我简介:

解题思路:

给出了5段数值,可以用if else判断,但观察发现可以用多分支结构,所以选用了switch语句,直观简便。
其中判断数值除在哪个范围,可以用给出的值直接/10,将得到的个位数值当作常量表达式。

最后得分

10:A

9:A

8:B

7:C

6:D

4\3\2\1\0:E

注意事项:

在整个判断中,100分也是属于A档,不能忘记100分这一分支,否则会出现漏判而答案错误。


break  表示退出{ }

case后面只能跟一个值(加冒号:),而不能是一个表达式 

switch(表达式) 后面没有分号(;)

{}前后没有分号(;)

default语句可以出现在任何位置,但建议写到最后,表示除去case匹配之外的其它情况。也可以没有default语句

case标签必须是常量表达式(constant Expression) 只能针对基本数据类型使用switch,这些类型包括int、char等。对于其他类型,则必须使用if语句。 

case标签必须是惟一性的表达式;也就是说,不允许两个case具有相同的值。

如果两个case语句间没有break,则执行完匹配的case语句后,会顺序执行下面的语句,直到遇到break语句或switch结束

连续的两个case语句表示,这两个case是同一种情况



参考代码:

#include<stdio.h>
int main()
{   
    int a;
    scanf("%d",&a);
    switch(a/10)
    {
        case 10:printf("A");break;
        case 9:printf("A");break;
        case 8:printf("B");break;
        case 7:printf("C");break;
        case 6:printf("D");break;
        case 5:printf("E");break;
        case 4:printf("E");break;
        case 3:printf("E");break;
        case 2:printf("E");break;
        case 1:printf("E");break;
        case 0:printf("E");break;
        default : printf("data error");break;
    }
    return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区