c - 带有循环的 Swift 3.1 模式

标签 c swift loops swift3 for-in-loop

我有一个这样的 C 程序,我想将其转换为 Swift:

int main(void)    
{   
    int i, j;

    for(i=1;i<=5;i++) 
    {
        printf("\n");
        for(j=1;j<=5-i;j++)
        {
            printf("_");
        }
        for(j=1;j<=i;j++)
        {
            printf("%d",j);
        }

        for(j=i-1;j>=1;j--)
        {
            printf("%d",j);
        }
    }
    printf("\n");
}

输出:

    1
   121
  12312
 1234123
123454321

我正在学习 Swift,我想制作这个模式,但我受困于第三个循环中的条件。

我应该在那里写什么?

快速代码:

import Foundation

var no = 1
for i in 1...5
{ 
    no = 1

    for j in 1..<(6-i)
    {
        print("_" , terminator : " ")

    }
    for k in 1...i
    {
        print("\(no)", terminator : " ")
        no+=1
    }
    for l in // 3rd loop , what would be the conditions ?

    }
    print("\n")
}

最佳答案

swift 4、Xcode 9.1

var j: Int = 0
var pattern = String()
   for i in 1...5 {
       for _ in 1...6 - i {
           pattern += " "
       }
       for j in 1...i {
           pattern += "\(j)"
       }

       j = i - 1
       while j >= 1 {
           pattern += "\(j)"
           j -= 1
       }
        pattern += "\n"
   }
   print(pattern)

输出:

enter image description here

关于c - 带有循环的 Swift 3.1 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44724941/

相关文章:

ios - 在项目中使用 WYPopover 时 UINavigationControllerDelegate 方法调用崩溃

java - 为什么 while 循环后没有打印任何内容?

奇怪的是,在某个打印行之后无法打印到标准输出?

c - 无法理解从结构地址到 (uint *) 的指针转换

*scanf 中 %n 运算符的一致性和行为

c - ANSI C - 不使用数组替换空白字符

ios - 在 iOS 中将界面从一个设备缩放到另一个的问题

ios - UICollectionView - 如何设置行的背景颜色

loops - 我如何检查我是否在 ADO 记录集的最后一条记录上?

mysql - 单个 MySQL 查询中的递归?