


Menguasai Corak Penuh: Panduan Komprehensif dengan Contoh Kod
Selamat datang ke panduan komprehensif kami untuk mencipta pelbagai corak terisi menggunakan gelung dalam pengaturcaraan C! Dalam tutorial ini, kami akan melalui arahan langkah demi langkah tentang cara melukis 18 corak terisi yang berbeza. Corak ini terdiri daripada bentuk asas seperti segi empat sama dan segi tiga kepada bentuk yang lebih kompleks seperti berlian, heksagon dan pentagon. Setiap corak dicipta menggunakan gelung bersarang, menjadikannya latihan yang sangat baik untuk pemula untuk mempraktikkan struktur kawalan dalam C. Mari selami!
Anda boleh menemui semua kod dalam repositori GitHub kami.
Jadual Kandungan
- Pengenalan kepada Gelung Bersarang
- Petak Berisi
- Diisi Segitiga Kanan
- Diisi Segitiga Kanan Songsang
- Diisi Segitiga Jajaran Kanan
- Diisi Segitiga Terbalik Jajaran Kanan
- Diisi Segitiga Pascal Kanan
- Diisi Segitiga Pascal Kiri
- Segitiga Sama Sisi Terisi
- Segi Tiga Sama Sisi Terbalik Terpenuhi
- Piramid Berisi
- Piramid Terbalik Berisi
- Berlian Isi
- Jam Pasir Terisi
- Rhombus yang diisi
- Jalur selari terisi
- Heksagon Terisi
- Pentagon yang Terisi
- Pentagon Terbalik yang Diisi
- Kesimpulan
Pengenalan kepada Gelung Bersarang
Sebelum kita mula dengan corak, adalah penting untuk memahami konsep gelung bersarang. Gelung bersarang ialah gelung di dalam gelung lain. Struktur ini amat berguna untuk mengendalikan tatasusunan berbilang dimensi dan untuk menjana corak. Dalam C, struktur gelung bersarang biasa kelihatan seperti ini:
for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // Code to execute } }
Dataran Penuh
Penjelasan:
- Corak segi empat sama yang diisi ialah salah satu corak yang paling mudah untuk dibuat.
- Ia terdiri daripada n baris dan n lajur, di mana setiap sel mengandungi aksara yang sama.
- Kami menggunakan dua gelung bersarang untuk mengulangi setiap baris dan lajur, mencetak aksara dalam setiap sel.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * *
Diisi Segitiga Kanan
Penjelasan:
- Corak segi tiga tepat yang diisi bermula dengan satu aksara dalam baris pertama dan bertambah satu aksara dalam setiap baris berikutnya.
- Corak ini dicapai dengan menggunakan dua gelung bersarang. Gelung luar mengawal bilangan baris, dan gelung dalam mengawal bilangan aksara yang dicetak dalam setiap baris.
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"); }
Output:
* * * * * * * * * * * * * * *
Diisi Segitiga Kanan Songsang
Penjelasan:
- Corak segi tiga tegak songsang diisi adalah bertentangan dengan segi tiga tegak terisi.
- Ia bermula dengan n aksara dalam baris pertama dan berkurangan satu aksara dalam setiap baris berikutnya.
- Sama seperti segi tiga tepat yang diisi, corak ini dibuat menggunakan dua gelung bersarang.
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"); }
Output:
* * * * * * * * * * * * * * *
Diisi Segitiga Jajaran Kanan
Penjelasan:
- Corak segi tiga jajaran kanan yang diisi adalah serupa dengan segi tiga tepat yang diisi, tetapi segi tiga itu dijajarkan ke kanan.
- Corak ini dicapai dengan menambahkan ruang sebelum setiap baris, mencipta rupa yang dijajarkan ke kanan.
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"); }
Output:
* * * * * * * * * * * * * * *
Diisi Segitiga Terbalik Jajaran Kanan
Penjelasan:
- Corak segi tiga terbalik jajaran kanan yang diisi adalah bertentangan dengan segi tiga jajaran kanan yang diisi.
- Ia bermula dengan satu aksara dalam baris pertama dan bertambah satu aksara dalam setiap baris berikutnya, tetapi segi tiga dijajarkan ke kanan.
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"); }
Output:
* * * * * * * * * * * * * * *
Diisi Segitiga Pascal Kanan
Penjelasan:
- Corak segi tiga Pascal kanan yang diisi menggabungkan segi tiga tepat dan segi tiga tepat terbalik untuk membentuk segi tiga seperti Pascal.
- Separuh pertama corak adalah serupa dengan segi tiga tegak terisi, dan separuh kedua adalah serupa dengan segi tiga tegak terbalik yang diisi.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * *
Diisi Segitiga Pascal Kiri
Penjelasan:
- Corak segitiga Pascal kiri yang diisi adalah serupa dengan segi tiga Pascal kanan yang diisi, tetapi ia dijajar ke kiri.
- Separuh pertama corak adalah serupa dengan segi tiga jajaran kanan yang diisi, dan separuh kedua adalah serupa dengan segi tiga terbalik jajaran kanan yang diisi.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * *
Diisi Segi Tiga Sama
Penjelasan:
- Corak segi tiga sama sisi yang diisi mempunyai bentuk simetri dengan setiap baris berpusat.
- Untuk mencapai matlamat ini, kami mencetak ruang sebelum setiap baris untuk memusatkan aksara.
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"); }
Output:
* * * * * * * * * * * * * * *
Diisi Segitiga Sama Sisi Songsang
Penjelasan:
- Corak segi tiga sama sisi songsang diisi ialah versi songsang bagi segi tiga sama sisi diisi.
- Ia bermula dengan n aksara di pangkal dan berkurangan sebanyak satu aksara setiap baris, berpusat.
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"); }
Output:
* * * * * * * * * * * * * * *
Piramid yang penuh
Penjelasan:
- Corak piramid yang diisi bermula dengan satu aksara di bahagian atas dan meningkat sebanyak dua aksara setiap baris, membentuk piramid simetri.
- Kami menggunakan ruang untuk memusatkan setiap baris.
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"); }
Output:
* *** ***** ******* *********
Piramid Terbalik yang Terisi
Penjelasan:
- Corak piramid terbalik yang diisi adalah bertentangan dengan piramid yang diisi.
- Ia bermula dengan 2 * n - 1 aksara di bahagian atas dan berkurangan sebanyak dua aksara setiap baris, berpusat.
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"); }
Output:
********* ******* ***** *** *
Berlian yang penuh
Penjelasan:
- Corak berlian terisi dibentuk dengan menggabungkan segi tiga sama sisi terisi dan segitiga sama sisi terbalik terisi.
- Ia menghasilkan bentuk berlian simetri.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * *
Jam pasir yang diisi
Penjelasan:
- Corak jam pasir yang diisi menggabungkan segitiga sama sisi terbalik dan segitiga sama sisi, membentuk bentuk jam pasir.
- Setiap baris dipusatkan dengan menambah ruang.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Filled Rhombus
Explanation:
- The filled rhombus pattern consists of rows where each row is shifted to the right by spaces.
- This creates a diamond-like shape with equal length sides.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * *
Filled Parallelogram
Explanation:
- The filled parallelogram pattern is created by shifting each row to the right.
- It looks like a rectangle leaning to one side.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Filled Hexagon
Explanation:
- The filled hexagon pattern has a wider middle section, with each row increasing and then decreasing in width.
- This creates a hexagonal shape.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Filled Pentagon
Explanation:
- The filled pentagon pattern starts with one character at the top and increases, forming a wider base.
- This creates a pentagon-like shape.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Filled Inverted Pentagon
Explanation:
- The filled inverted pentagon pattern is the inverted version of the filled pentagon.
- It starts with the wider base and decreases, forming an inverted pentagon shape.
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"); }
Output:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
Conclusion
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!
Atas ialah kandungan terperinci Menguasai Corak Penuh: Panduan Komprehensif dengan Contoh Kod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas











Sejarah dan evolusi C# dan C adalah unik, dan prospek masa depan juga berbeza. 1.C dicipta oleh BjarnestroustRup pada tahun 1983 untuk memperkenalkan pengaturcaraan berorientasikan objek ke dalam bahasa C. Proses evolusinya termasuk pelbagai standardisasi, seperti C 11 memperkenalkan kata kunci auto dan ekspresi Lambda, C 20 memperkenalkan konsep dan coroutin, dan akan memberi tumpuan kepada pengaturcaraan prestasi dan sistem pada masa akan datang. 2.C# telah dikeluarkan oleh Microsoft pada tahun 2000. Menggabungkan kelebihan C dan Java, evolusinya memberi tumpuan kepada kesederhanaan dan produktiviti. Sebagai contoh, C#2.0 memperkenalkan generik dan C#5.0 memperkenalkan pengaturcaraan tak segerak, yang akan memberi tumpuan kepada produktiviti pemaju dan pengkomputeran awan pada masa akan datang.

Terdapat perbezaan yang signifikan dalam lengkung pembelajaran C# dan C dan pengalaman pemaju. 1) Keluk pembelajaran C# agak rata dan sesuai untuk pembangunan pesat dan aplikasi peringkat perusahaan. 2) Keluk pembelajaran C adalah curam dan sesuai untuk senario kawalan berprestasi tinggi dan rendah.

Penggunaan analisis statik di C terutamanya termasuk menemui masalah pengurusan memori, memeriksa kesilapan logik kod, dan meningkatkan keselamatan kod. 1) Analisis statik dapat mengenal pasti masalah seperti kebocoran memori, siaran berganda, dan penunjuk yang tidak dikenali. 2) Ia dapat mengesan pembolehubah yang tidak digunakan, kod mati dan percanggahan logik. 3) Alat analisis statik seperti perlindungan dapat mengesan limpahan penampan, limpahan integer dan panggilan API yang tidak selamat untuk meningkatkan keselamatan kod.

C Berinteraksi dengan XML melalui perpustakaan pihak ketiga (seperti TinyXML, PugixML, Xerces-C). 1) Gunakan perpustakaan untuk menghuraikan fail XML dan menukarnya ke dalam struktur data C-diproses. 2) Apabila menjana XML, tukar struktur data C ke format XML. 3) Dalam aplikasi praktikal, XML sering digunakan untuk fail konfigurasi dan pertukaran data untuk meningkatkan kecekapan pembangunan.

Menggunakan perpustakaan Chrono di C membolehkan anda mengawal selang masa dan masa dengan lebih tepat. Mari kita meneroka pesona perpustakaan ini. Perpustakaan Chrono C adalah sebahagian daripada Perpustakaan Standard, yang menyediakan cara moden untuk menangani selang waktu dan masa. Bagi pengaturcara yang telah menderita dari masa. H dan CTime, Chrono tidak diragukan lagi. Ia bukan sahaja meningkatkan kebolehbacaan dan mengekalkan kod, tetapi juga memberikan ketepatan dan fleksibiliti yang lebih tinggi. Mari kita mulakan dengan asas -asas. Perpustakaan Chrono terutamanya termasuk komponen utama berikut: STD :: Chrono :: System_Clock: Mewakili jam sistem, yang digunakan untuk mendapatkan masa semasa. Std :: Chron

Masa depan C akan memberi tumpuan kepada pengkomputeran selari, keselamatan, modularization dan pembelajaran AI/mesin: 1) Pengkomputeran selari akan dipertingkatkan melalui ciri -ciri seperti coroutine; 2) keselamatan akan diperbaiki melalui pemeriksaan jenis dan mekanisme pengurusan memori yang lebih ketat; 3) modulasi akan memudahkan organisasi dan penyusunan kod; 4) AI dan pembelajaran mesin akan mendorong C untuk menyesuaikan diri dengan keperluan baru, seperti pengkomputeran berangka dan sokongan pengaturcaraan GPU.

C isnotdying; it'sevolving.1) c suplemenvantduetoitsverversatilityandeficiencyinperformance-criticalapplications.2) thelanguageiscontinuouslyupdated, withc 20introducingfeatureslikemodulesandcoroutinestoMproveusability.3)

C# menggunakan mekanisme pengumpulan sampah automatik, manakala C menggunakan pengurusan memori manual. 1. Pemungut Sampah C 2.C menyediakan kawalan memori yang fleksibel, sesuai untuk aplikasi yang memerlukan pengurusan yang baik, tetapi harus dikendalikan dengan berhati -hati untuk mengelakkan kebocoran ingatan.
