首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c++ / c#传销是如何制作的?

c++ / c#传销是如何制作的?
EN

Stack Overflow用户
提问于 2011-06-23 15:56:18
回答 2查看 1.8K关注 0票数 0

我正在寻找一个金字塔计划的c++或c#代码(一级: x,第二级x x...and等)。thx

EN

回答 2

Stack Overflow用户

发布于 2011-06-23 16:22:51

下面是一些伪代码,您可以将它们转换为您选择的任何命令式语言:

代码语言:javascript
复制
for each i from 1 to max
    for each k from 1 to i
        print x
    newline
票数 4
EN

Stack Overflow用户

发布于 2011-06-23 16:45:57

听起来你想把它格式化一点。这听起来也像是一所高中,学期初的作业,你可能是在欺骗自己,不管你在使用什么语言。但是假设你不是,你想要格式化。

FredOverflow为打印提供了正确的伪代码算法:

代码语言:javascript
复制
x
xx
xxx
...

但是如果你想让它居中,那么你需要考虑首先添加多少空格。

如果你的金字塔有n高,那么底部就是n宽。行n-1包含n-1个x,但需要均匀的间距,并且不能只在两边添加0.5个空格,至少对于文本是如此(除非这是在图形用户界面中,并且您正在使用某种DrawText(x,y,text)方法)。相反,如果您在每个x之间放置一个空格,则一行中将始终有奇数个字符,允许金字塔间距,如下所示:

代码语言:javascript
复制
  x
 x x
x x x

因此,您可以这样做:

代码语言:javascript
复制
for (i = 1; i<= n; i++) {
  for (j = 0; j < n-i; j++) {
    printf(" ");
  }
  for (k = 0; k < i; i++) {
    printf("x ");
  }
  printf("\n");
}

或者重写以满足您的需求/提高效率。这里有一些选择,你应该尝试用另一种方法来看看这些不同之处教会了你什么。不过,具体来说,要注意递归循环中使用的数学。这很容易,特别是在刚开始的时候,在循环中出现1差的数学错误。见鬼,我希望我刚才没有做一个!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6450976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档