通过打印星形设计可以更轻松地理解循环想法。星号用于 各种星形图案形成完整或空心三角形或菱形形式。在这个 在这篇文章中,我们将展示如何在 C++ 中创建一个居中对齐的递减三角形。
下表将包含我们创建的打印星星的逻辑。下表可以 帮助我们理解。
语法
* * * * * * * * * * * * * * * * * * * * * * * * * * * *
这里显示了 7 行。对于每行 i,有 (n – i + 1) 颗星星。然而,每个 行有一些填充,这里每行的填充都在减少。而明星也有 恒定的填充。我们可以通过打印“*”(星号后跟空格)来实现这一点 而不是仅打印“*”。该表显示了空格和星星数量以及它们之间的关系 i 的值。
行号 (i) | 星星数 (j) | 空格(k) | ||
---|---|---|---|---|
1 | 7 | 的中文翻译为:7 | 0 | |
2 | 6 | 的中文翻译为:6 | 1 | |
3 | 5 | 2 | ||
4 | 的翻译为:4 | 4 | 的翻译为:4 | 3 |
5 | 3 | 4 | ||
6 | 的中文翻译为:6 | 2 | 5 | |
7 | 的中文翻译为:7 | 1 | 6 |
这里,每行 i 的星数为 (n – i + 1)。空格数如下 (i – 1)。让我们 查看算法以理解这个概念。
算法
- 读取行数作为输入 n
- 对于从 1 到 n 的 i,执行
- 对于 k 的范围从 1 到 (i - 1),执行
- 显示空格 (' ')
- 结束
- 对于 j 从 1 到 (n - i + 1),执行以下操作
- 显示星号后跟空格“*”
- 结束
- 将光标移至下一行
- 结束
我们正在测试,通过在每行前用点(.)替换空格。因为我们 在线编译器有时会截断行并消除 和 之前的空格 在每行之后。
示例
#include <iostream> using namespace std; void solve( int n ){ int i, j, k; for( i = 1; i <= n; i++ ) { for( k = 1; k <= (i - 1); k++ ) { cout << "."; } for( j = 1; j <= (n - i + 1); j++ ) { cout << "* "; } cout << endl; } } int main(){ int n = 10; cout << "Downward Star Pattern using " << n << " number of lines:" << endl; solve( n ); }
输出
Downward Star Pattern using 10 number of lines: * * * * * * * * * * .* * * * * * * * * ..* * * * * * * * ...* * * * * * * ....* * * * * * .....* * * * * ......* * * * .......* * * ........* * .........*
输出(当 n = 18 时)
Downward Star Pattern using 18 number of lines: * * * * * * * * * * * * * * * * * * .* * * * * * * * * * * * * * * * * ..* * * * * * * * * * * * * * * * ...* * * * * * * * * * * * * * * ....* * * * * * * * * * * * * * .....* * * * * * * * * * * * * ......* * * * * * * * * * * * .......* * * * * * * * * * * ........* * * * * * * * * * .........* * * * * * * * * ..........* * * * * * * * ...........* * * * * * * ............* * * * * * .............* * * * * ..............* * * * ...............* * * ................* * .................*
结论
我们设计程序来打印星星图案,以学习几乎任何编程语言
嵌套的for循环语法。在本文中,我们已经介绍了如何打印一个居中对齐的 下行三角形图案。星号被放置以打印三角形,空格被使用 将三角形对齐到中心(由于在线编译器的一些限制,我们打印 点而不是空格)。您可以通过在中间放置间隙来在本地测试它们 用点号而不是空格来表示间隔)。您可以在本地测试它们,只需在中间放置间隔即可 句子。还证明了第i行的星星和空白空间 可以使用表格技术找到。利用这个概念,我们可以轻松修改 公式显示额外模式的方法。从表格中进行简单更改可以帮助显示 不同的三角形模式。有时删除空格会使三角形左对齐。以上是C++程序打印下降星形三角形图案的详细内容。更多信息请关注PHP中文网其他相关文章!

C 学习者和开发者可以从StackOverflow、Reddit的r/cpp社区、Coursera和edX的课程、GitHub上的开源项目、专业咨询服务以及CppCon等会议中获得资源和支持。1.StackOverflow提供技术问题的解答;2.Reddit的r/cpp社区分享最新资讯;3.Coursera和edX提供正式的C 课程;4.GitHub上的开源项目如LLVM和Boost提升技能;5.专业咨询服务如JetBrains和Perforce提供技术支持;6.CppCon等会议有助于职业

C#适合需要高开发效率和跨平台支持的项目,而C 适用于需要高性能和底层控制的应用。1)C#简化开发,提供垃圾回收和丰富类库,适合企业级应用。2)C 允许直接内存操作,适用于游戏开发和高性能计算。

C 持续使用的理由包括其高性能、广泛应用和不断演进的特性。1)高效性能:通过直接操作内存和硬件,C 在系统编程和高性能计算中表现出色。2)广泛应用:在游戏开发、嵌入式系统等领域大放异彩。3)不断演进:自1983年发布以来,C 持续增加新特性,保持其竞争力。

C 和XML的未来发展趋势分别为:1)C 将通过C 20和C 23标准引入模块、概念和协程等新特性,提升编程效率和安全性;2)XML将继续在数据交换和配置文件中占据重要地位,但会面临JSON和YAML的挑战,并朝着更简洁和易解析的方向发展,如XMLSchema1.1和XPath3.1的改进。

现代C 设计模式利用C 11及以后的新特性实现,帮助构建更灵活、高效的软件。1)使用lambda表达式和std::function简化观察者模式。2)通过移动语义和完美转发优化性能。3)智能指针确保类型安全和资源管理。

C 多线程和并发编程的核心概念包括线程的创建与管理、同步与互斥、条件变量、线程池、异步编程、常见错误与调试技巧以及性能优化与最佳实践。1)创建线程使用std::thread类,示例展示了如何创建并等待线程完成。2)同步与互斥使用std::mutex和std::lock_guard保护共享资源,避免数据竞争。3)条件变量通过std::condition_variable实现线程间的通信和同步。4)线程池示例展示了如何使用ThreadPool类并行处理任务,提高效率。5)异步编程使用std::as

C 的内存管理、指针和模板是核心特性。1.内存管理通过new和delete手动分配和释放内存,需注意堆和栈的区别。2.指针允许直接操作内存地址,使用需谨慎,智能指针可简化管理。3.模板实现泛型编程,提高代码重用性和灵活性,需理解类型推导和特化。

C 适合系统编程和硬件交互,因为它提供了接近硬件的控制能力和面向对象编程的强大特性。1)C 通过指针、内存管理和位操作等低级特性,实现高效的系统级操作。2)硬件交互通过设备驱动程序实现,C 可以编写这些驱动程序,处理与硬件设备的通信。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

SublimeText3 Linux新版
SublimeText3 Linux最新版

WebStorm Mac版
好用的JavaScript开发工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。