ios - 仅使用 printf 在 Objective-C 中绘制之字形图案

标签 ios objective-c

<分区>

我坚持使用 printf 仅在控制台中绘制锯齿形图案,输出应为:

       *     * 
      * *   * *
     *   * *   *
    *     *     * 

这是我的代码:

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        int n,i,j;
        printf("Input the height:");
        scanf("%d",&n);
        printf("\n");
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n-i;j++)
                printf(" ");/
            for(j=1;j<=2*i;j++)
            {
                if (j==1||j==2*i-1)
                    printf("*"); 
                else
                    printf (" ");
            }
            printf("\n"); 
            if (i==n) {
                for(j=1; j<=n;j++)
                    printf (" ");
                break ;
            }
        }
    }
}

像这样。我正在尝试绘制三角形的两条边,但仍然不知道如何绘制。

最佳答案

使用二维数组作为虚拟屏幕

int n,i,j,d;
printf("Input the height:");
scanf("%d",&n);
int width = (n-1)*4+1;
char vscreen[n][width+1];
memset(vscreen, ' ', sizeof vscreen);
for(i=0; i < n; ++i)
    vscreen[i][width] = 0;

for(j=i=0, d=-1; i < width; ++i, j += d){
    vscreen[j][i] = '*';
    if(j == n - 1 || j == 0)
        d = -d;
}
printf("\n");
for(i=n-1;i>=0;--i)
    printf("%s\n", vscreen[i]);

关于ios - 仅使用 printf 在 Objective-C 中绘制之字形图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32010117/

上一篇:ios - iTunes 连接,Xcode 在管理器中验证

下一篇:ios - 以编程方式更改 ContainerView 内 View 的大小

相关文章:

ios - stringByAppendingPathComponent 不可用

ios - 从 plist 中获取选定的图像以显示在另一个 View 中

ios - 如何在 uidatepicker View 中将最大日期设置为今天 23 :59?

objective-c - 在 OS X Mountain Lion 上访问 Facebook 帐户

Objective-C 运行时 : best way to check if class conforms to protocol?

ios - iOS 中的 UDP 套接字错误号

javascript - 如何使用webview在ios objective c safari中打开window.open方法

iphone - 如何在选项卡 View Controller Storyboard应用程序中添加更多选项卡?

objective-c - NSMutableArray indexOfObject 返回一个非常大的数字

ios - `UICollectionViewLayout`没有成员`itemSize`