【发布时间】:2021-04-30 19:17:53
【问题描述】:
这里是婴儿编程学生。一项作业要求我使用几个循环从 1 到 100 进行计数,并且在其中一个循环中,我必须包含一个 switch 语句,该语句根据条件打印一些内容。 这是任务的内容: "创建一个满足以下要求的基本程序:
- 使用 for 语句从 1 计数到 100。
- 使用 while 语句从 1 计数到 100。
- 使用 do while 语句从 1 计数到 100。
- 在其中一个循环中使用 switch 语句,如果数字是:则打印到屏幕: 小于或等于 10, 大于或等于 11 但小于 20, 大于 21。”
我可以很好地完成循环语句,并且我可以编写一个 switch 语句,但是在一个已经在计数的循环中放置一个 switch 语句似乎是不可能的。据我了解,switch 语句中的 case 必须是整数值(如 '1'),不能是赋值(如 'counter
【问题讨论】:
-
抱歉,无法阅读。
-
您可以将多个(空)案例一个接一个地放置
case 1: case 2: /* ... */ case 10: puts("..."); break;,或者您可以尝试switch(i/10) {...} -
像
switch((i <= 10) ? 1 : (i < 20) ? 2 : (i <= 21) ? 3 : 4)这样的东西会起作用,虽然这是在现实生活中没人会写的代码,所以我质疑这个作业的智慧。 -
这似乎是一个设计不佳的作业。这不是不可能的,甚至是困难的;它只需要一个乏味的解决方案(写下所有
case标签)或杂乱无章的解决方案(使用不等式评估作为switch标准)。慢慢来吧。 -
谢谢大家的帮助!我有一种感觉,我不是唯一一个被任务推迟的人。你们都帮了大忙!
标签: c while-loop switch-statement case assignment-operator