-6

很抱歉这个问题,但我无处可去,而且我无法找到解决方案。我对编程语言 Pascal 非常熟悉,所以这种 C 语言对我来说似乎很熟悉,但是添加一个改变 while 循环的整个结构的 if 函数对我来说太复杂了。请任何帮助表示赞赏。

数组变量由十个数字组成的序列。在 while 循环内部,您必须编写两个 if 条件,它们以以下方式更改循环的流程(不更改 printf 命令):

  • 如果当前即将打印的数字小于 5,则不打印。
  • 如果当前要打印的数字大于 10,则不打印并停止循环。

    请注意,如果您不推进迭代器变量 i 并使用 continue 导数,您将陷入无限循环。
#include <stdio.h>

int main()
{
    int array[] = {1, 7, 4, 5, 9, 3, 5, 11, 6, 3, 4};
    int i = 0;

    while (i < 10)
    {
        /* your code goes here */

        printf("%d\n", array[i]);
        i++;
    }
    return 0;
}
4

2 回答 2

1

它正在测试您对 C 流控制的理解。你正在寻找的是这样的:

if (array[i] < 5) {i++; continue; }  // increment, go back to while
if (array[i] > 10) break;            // leave while
于 2013-06-20T22:43:36.490 回答
1

你真的要使用breakandif语句。您需要了解这些概念才能熟练使用任何语言。

if (array[i] > 10)
        break;
if (array[i] >= 5)
        printf("%d\n", array[i]);
于 2013-06-20T22:40:39.723 回答