求问这道关于Switch语句的c语言的题

Python012

求问这道关于Switch语句的c语言的题,第1张

这是因为这个switch...case句块的执行顺序是这样的,一开始k=8,在case从句中没有匹配的,所以它会执行defult句块中的内容,因为没有break语句来中断,所以在那之后会继续往下执行case10,case11句块中的内容,直到触底退出,因为这个过程共有3个k+=1语句,所以k被加了3次1,这样k的值就从8变成了11。

货物价格s变量应该为浮点类型float;

switch语句中要有default,可对应s>=10000的情况,因此直接令c=s/1000即可;

“1000元以上、5000元以下货物征税2%”,感觉包括1000但不包括5000

因此对应的c为1,2,3,4,那么d=2语句应写在case 4:之后;

最后输出税金的格式为%f,默认是保留小数点后6位,不知道题目有没有其他格式要求

比如对于s<1000、税金为0的情况,是否还要保留小数点后6位

以下修改的代码仍按照%f格式输出,具体改动的地方见注释:

附源码链接:货物税金

#include <stdio.h>

int main () {

    int n

    printf("读入一个整数 ")

    scanf("%d", &n)

    switch(n) {

    case 1: printf("第一个福娃名字\n") break

    case 2: printf("第二个福娃名字\n") break

    case 3: printf("第三个福娃名字\n") break

    case 4: printf("第四个福娃名字\n") break

    case 5: printf("第五个福娃名字\n") break

    default: printf("北京欢迎你\n") 

    }

    return 0

}