写这些 for 循环更短

Posted

技术标签:

【中文标题】写这些 for 循环更短【英文标题】:Write these for loops shorter 【发布时间】:2016-04-08 18:42:29 【问题描述】:

我想减少字符数。我想打印一个在 c++ 中变化 5 次的特殊方阵。

如何将这些 for 循环写得更短? 或者 我怎样才能做同样的事情但更短??

如果可以的话,请帮忙!

int i,j,h;

for(h=0;h<6;h++)
  for(j=0;j<13;j++)
    for(i=0;i<13;i++)
        //do something

【问题讨论】:

我不知道你想问什么。更短是什么意思? 对我来说看起来很“短”。这到底是什么问题? 我想减少该代码的 o 个字符。我需要写得更短。 您为什么要这样做?您应该编写清晰且可维护的代码。这意味着使用描述性变量名称并使用空格来分解内容并使其更易于阅读。 你没有。到底有什么问题。 【参考方案1】:

我不知道你为什么要减少字符数,一些代码难题?

无论如何,对于您的初始代码:

int i, j, h;

for(h=0;h<6;h++)
    for(j=0;j<13;j++)
        for(i=0;i<13;i++)
            printf("%d %d %d\n",h,j,i);

这里是快速版本:

int i=0;for(;i<1014;i++)printf("%d %d %d\n",i/169,(i/13)%13,i%13);

用你的“某物”替换 printf

【讨论】:

不鼓励发帖?他的同事会恨你的! @EdHeal 不要杀死信使 :)

以上是关于写这些 for 循环更短的主要内容,如果未能解决你的问题,请参考以下文章

在 Flutter 中使用 for 循环创建嵌套小部件

谜题28:循环者

使用 for 循环删除列表中的项目

024 程序流程控制for循环

有没有办法在 for-each 循环迭代开始之前避免空检查? [复制]

自己动手写编译器:while,for,do等循环语句的中间代码生成