c++/c#金字塔方案如何制作
c++ / c# pyramid scheme how to make it?
我正在为金字塔方案寻找c++或c#代码(I级:x,第二级x…等等)。thx
以下是一些伪代码,您可以将其翻译成您选择的任何命令式语言:
for each i from 1 to max
for each k from 1 to i
print x
newline
听起来你想要格式化一下。这听起来也像是一个高中的学期初作业,你可能在欺骗自己,不去发现你正在使用的任何语言。但假设你不是,你想要格式化。
FredOverflow为打印提供了正确的伪代码算法:
x
xx
xxx
...
但如果你想让它居中,那么你需要考虑先添加多少空间。
如果你的金字塔是n高,那么底部是n宽。第n-1行包含n-1个x,但需要均匀的间距,并且您不能只在每一侧添加0.5个空格,至少在文本中是这样(除非这是在GUI中,并且您正在使用某种DrawText(x,y,text)方法)。相反,考虑一下,如果你在每个x之间放一个空格,你会在一行上总是有奇数个字符,允许金字塔间距,比如:
x
x x
x x x
这样你就可以做到:
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的数学错误。见鬼,我希望我刚才没做!
相关文章:
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 如何在c++17中制作一个模板包装器/装饰器
- FFmpeg:制作一个应用程序比直接使用ffmepg更好吗
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 如何制作一个将函数作为参数的类方法
- 计算每个节点的树高,帮助我解释这个代码解决方案
- 如何从unique_ptr制作static_cast
- Python中的for循环与C++有何不同
- 下面是我为检测链接列表中的循环而制作的代码
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- 如何使用gdb制作一个可以漂亮地打印每个对象的C++函数
- visual c++,如何获取解决方案目录中的代码
- 从对象文件(.o)在macos上制作归档文件(.a文件)
- 如何制作无限制照明系统
- 我试图制作一个程序,要求用户输入问题和答案,但程序循环不正确
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- c++/c#金字塔方案如何制作