在其中没有IF或SWITCH条件的循环

时间:2016-05-04 15:40:44

标签: c#

我想使用Chapter打印如下所示的数字,而不使用loopif条件。

switch

注意:当循环变为数字5时,它必须迭代3次,当它变为6和9时,它必须迭代2次。

示例

我有以下代码,它们打印的数字符合条件。

我的尝试:

1
2
3
4
5
5
5
6
6
7
8
9
9
10

3 个答案:

答案 0 :(得分:3)

试试这个:

for (int i = 1; i <= 14; i++)
    Console.WriteLine(i - i / 6 - i / 7 - i / 9 + i / 12 - i / 13 + i / 14);

位置i = 6i = 7i = 9i = 13您要重复之前的值,因此减去i / _,但需要添加{{ 1}}和i / 12因为i / 1412减法14i / 6开始计数两次。

答案 1 :(得分:0)

首先,?标记运算符是if语句。所以使用它就出来了。但你可以制作一个数组:

int[] myNums = {1,2,3,4,5,5,5,6,6,7,8,9,9};
for (int i = 0; i < myNums.length; i++) {
 Console.WriteLine(myNums[i]);
}

答案 2 :(得分:0)

您可以在字典中存储数字和迭代计数之间的关系。要打印的数字是关键,打印的次数是值。然后,您可以通过以下方式实现所需:

var printNumbers = new Dictionary<int, int> { { 1, 1 }, { 2, 1 },{ 3, 1 },{ 4, 1 },{ 5, 3 }, { 6, 2 }, { 7, 1 }, { 8, 1 }, { 9, 2 } };

        foreach (var num in printNumbers)
        {
            for (int i = 0; i < num.Value; i++)
            {
                Console.WriteLine(num.Key);
            }
        }