这种要怎么写,大学c语言

img


为啥我总是写不对呢,是真的不太理解。case中必须是整形常量吗?那有范围的应该怎么编写?

很简单,你直接根据所有情况,映射称为一个整数就可以了。
flag = 你高于1m5 ? 1 :你高于一米三 ?2 :3;这样在把flagswitch就可以了

case中不必须为整型,有范围建议用if判断,如果硬要switch可以通过一个新变量,让接受值*100比如9.59~7.70你可以×100变成959 ~770然后去除770判断是否有小数部分,或判断是否有整数,以及整数的值来进行case的划分


参考下这个教程

如果 case 范围的一个端点是数值,则在省略号 (...) 两侧留空格以避免其中一个点被视为小数点。

示例:

case 0...4; // error
case 5 ... 9; // ok

先从简单的来吧,

if XXX > C else if XXX > D else .....