歡迎來到我們關於在 C 程式設計中使用循環創建各種填充模式的綜合指南!在本教學中,我們將逐步介紹如何繪製 18 種不同的填滿圖案。這些圖案的範圍從方形和三角形等基本形狀到菱形、六邊形和五邊形等更複雜的形狀。每個模式都是使用巢狀循環創建的,這對於初學者來說是練習 C 語言控制結構的絕佳練習。讓我們開始吧!
您可以在我們的 GitHub 儲存庫中找到所有程式碼。
在我們開始使用模式之前,有必要先了解巢狀循環的概念。嵌套循環是另一個循環內的一個循環。此結構對於處理多維數組和生成模式特別有用。在 C 語言中,典型的巢狀循環結構如下所示:
for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // Code to execute } }
int n = 5; // size of the square char ch = '*'; printf("1. Filled Square:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("2. Filled Right Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("3. Filled Inverted Right Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("4. Filled Right Aligned Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("5. Filled Right Aligned Inverted Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = 1; j <= i; j++) { printf(" "); } for (int j = n; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("6. Filled Right Pascal Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < i + 1; j++) { printf("%c ", ch); } printf("\n"); } for (int i = 0; i < n; i++) { for (int j = n; j > i + 1; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("7. Filled Left Pascal Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j < i + 1; j++) { printf("%c ", ch); } printf("\n"); } for (int i = 0; i < n; i++) { for (int j = 0; j < i + 1; j++) { printf(" "); } for (int j = n - 1; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("8. Filled Equilateral Triangle:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("9. Filled Inverted Equilateral Triangle:\n"); for (int i = n - 1; i >= 0; i--) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * *
printf("10. Filled Pyramid:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j < (2 * i + 1); j++) { printf("%c", ch); } printf("\n"); }
* *** ***** ******* *********
printf("11. Filled Inverted Pyramid:\n"); for (int i = n; i > 0; i--) { for (int j = n - i; j > 0; j--) { printf(" "); } for (int j = 0; j < (2 * i - 1); j++) { printf("%c", ch); } printf("\n"); }
********* ******* ***** *** *
printf("12. Filled Diamond:\n"); for (int i = 0; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); } for (int i = 0; i < n - 1; i++) { for (int j = 0; j <= i; j++) { printf(" "); } for (int j = n - 1; j > i; j--) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("13. Filled Hourglass:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { printf(" "); } for (int j = 0; j < (n - i); j++) { printf("%c ", ch); } printf("\n"); } for (int i = 1; i < n; i++) { for (int j = n - 1; j > i; j--) { printf(" "); } for (int j = 0; j <= i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("14. Filled Rhombus:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < n - i - 1; j++) { printf(" "); } for (int j = 0; j < n; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * *
printf("15. Filled Parallelogram:\n"); for (int i = 0; i < n; i++) { for (int j = 0; j < i; j++) { printf(" "); } for (int j = 0; j < n * 2; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("16. Filled Hexagon:\n"); for (int i = 0; i < n / 2; i++) { for (int j = n / 2 - i; j > 0; j--) { printf(" "); } for (int j = 0; j < n + 1 * i; j++) { printf("%c ", ch); } printf("\n"); } for (int i = n / 2; i >= 0; i--) { for (int j = 0; j < n / 2 - i; j++) { printf(" "); } for (int j = 0; j < n + i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("17. Filled Pentagon:\n"); for (int i = 0; i < n + 1; i++) { for (int j = n; j > i; j--) { printf(" "); } for (int j = 0; j < (i + 1); j++) { printf(" %c", ch); } printf("\n"); } for (int i = n / 2; i >= 0; i--) { for (int j = 0; j < n / 2 - i; j++) { printf(" "); } for (int j = 0; j < n + i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
printf("18. Filled Inverted Pentagon:\n"); for (int i = 0; i <= n / 2; i++) { for (int j = 0; j < n / 2 - i; j++) { printf(" "); } for (int j = 0; j < n + i; j++) { printf("%c ", ch); } printf("\n"); } for (int i = n + 1; i > 0; i--) { for (int j = n + 2; j > i; j--) { printf(" "); } for (int j = 0; j < i; j++) { printf("%c ", ch); } printf("\n"); }
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Learning to create these filled patterns in C is an excellent way to practice using nested loops and enhance your understanding of how loops work. By experimenting with different values and shapes, you can deepen your understanding of control structures in C and develop a keen eye for detail and logic. Whether you're a beginner or looking to brush up on your skills, these patterns provide a solid foundation for mastering loops in C programming.
We hope this guide has been helpful and encourages you to explore more complex patterns and designs. Happy coding!
For more tutorials and coding tips, be sure to subscribe to our blog and follow us on social media!
以上是掌握填滿模式:帶有程式碼範例的綜合指南的詳細內容。更多資訊請關注PHP中文網其他相關文章!