Rumah >pembangunan bahagian belakang >C++ >Program C++ untuk mencetak corak bintang X
Menunjukkan pelbagai bentuk corak bintang, seperti piramid, segi empat sama dan rombus, ialah
Bahagian biasa pengaturcaraan asas dan pembangunan logik. kita menghadapi pelbagai masalah Apabila kita melihat pernyataan gelung dalam pengaturcaraan, bintang dan corak nombor terlibat. Artikel ini menunjukkan cara mencetak X atau pangkah menggunakan asterisk.Kita akan lihat dua kaedah yang sama. Yang pertama agak rumit, tetapi yang seterusnya Kaedahnya sangat cekap.
* * * * * * * * * * * * * * * * *
Untuk mod ini, bilangan baris ialah n = 5. Ini untuk separuh teratas. Jumlah corak X ialah 2n – 1
Mari lihat cara melakukannya menggunakan jadual berikut−
nombor talian | Terjemahan bahasa Cina bagiBintang Count | ialah:Bilangan bintang | Baki ruang | Terjemahan bahasa Cina bagiSpace Between | ialah:Spacing | Penerangan | |
---|---|---|---|---|---|---|---|
1 | ialah:1 | 2 | 0 | 7 | Apabila i = n, cetak bintang, jika tidak cetak 2. Ruang di sebelah kiri ialah (i – 1), dan ruang antara ruang ialah 2(n – i) - 1 | ||
2 | 2 | Terjemahan1 | ialah:1 | 5 | |||
3 | 2 | 2 | 3 | ||||
4 | ialah:4 | 2 | 3 | 1 | |||
5 | ialah:5 | Terjemahan1 | ialah:1 | Terjemahan bahasa Cina bagi4 | ialah:4 | Terjemahan bahasa Cina bagi- | ialah:- |
6 | 2 | 3 | 1 | Bintang di sebelah kiri semakin berkurangan, seperti n - (i - n) - 1 = 2n - i - 1. Bilangan ruang akan mengikuti: 2 * (i - n) - 1 | |||
7 | 2 | 2 | 3 | ||||
8 | 2 | Terjemahan1 | ialah:1 | 5 | |||
9 | diterjemahkan sebagai:9 | 2 | 0 | 7 |
#include <iostream> using namespace std; void solve( int n ){ for ( int i = 1; i <= 2*n - 1; i++ ) { if ( i <= n ) { for ( int j = 1; j <= i - 1; j++ ) { cout << ". "; } cout << "* "; if ( i != n ) { for ( int j = 1; j <= 2 * (n - i) - 1; j++ ) { cout << " "; } cout << "* "; } } else { for ( int j = 1; j <= (2 * n) - i - 1; j++ ) { cout << ". "; } cout << "* "; for ( int j = 1; j <= 2 * (i - n) - 1; j++ ) { cout << " "; } cout << "* "; } cout << "\n"; } } int main(){ int n = 8; cout << "X Star Pattern for " << n << " lines." << endl; solve( n ); }
X Star Pattern for 8 lines. * * . * * . . * * . . . * * . . . . * * . . . . . * * . . . . . . * * . . . . . . . * . . . . . . * * . . . . . * * . . . . * * . . . * * . . * * . * * * *
X Star Pattern for 10 lines. * * . * * . . * * . . . * * . . . . * * . . . . . * * . . . . . . * * . . . . . . . * * . . . . . . . . * * . . . . . . . . . * . . . . . . . . * * . . . . . . . * * . . . . . . * * . . . . . * * . . . . * * . . . * * . . * * . * * * *
Masalah yang sama boleh diselesaikan dengan mempertimbangkan grid, dan dari grid ini, kita boleh mengira Formula di mana bintang dicetak dan di mana ruang dicetak.
* | * | |||||||
* | * | |||||||
* | * | |||||||
* | * | |||||||
* | ||||||||
* | * | |||||||
* | * | |||||||
* | * | |||||||
* | * |
从上面的网格中,很容易理解,星星只会在列中放置 数字与行号(对角线)相同,列号为 (2n + 1 – i)
#include <iostream> using namespace std; void solve( int n ){ int m = 2*n - 1; for ( int i = 1; i <= m; i++ ) { for ( int j = 1; j <= m; j++ ) { if (j == i || j == (m + 1 - i)) cout << "* "; else cout << ". "; } cout << endl; } } int main(){ int n = 6; cout << "X Star Pattern for " << n << " lines." << endl; solve( n ); }
X Star Pattern for 6 lines. * . . . . . . . . . * . * . . . . . . . * . . . * . . . . . * . . . . . * . . . * . . . . . . . * . * . . . . . . . . . * . . . . . . . . . * . * . . . . . . . * . . . * . . . . . * . . . . . * . . . * . . . . . . . * . * . . . . . . . . . *
X Star Pattern for 8 lines. * . . . . . . . . . . . . . * . * . . . . . . . . . . . * . . . * . . . . . . . . . * . . . . . * . . . . . . . * . . . . . . . * . . . . . * . . . . . . . . . * . . . * . . . . . . . . . . . * . * . . . . . . . . . . . . . * . . . . . . . . . . . . . * . * . . . . . . . . . . . * . . . * . . . . . . . . . * . . . . . * . . . . . . . * . . . . . . . * . . . . . * . . . . . . . . . * . . . * . . . . . . . . . . . * . * . . . . . . . . . . . . . *
星形模式使用简单,对于学习编程循环思想很有用。这 文章演示了如何使用 C++ 显示左和右半菱形图案 右对齐的半菱形。拍摄后,X 或十字图案将使用星号显示 考虑n行计数。为此,我们提供了两种方法。一聘 填充和空白空间,而另一个则利用网格计算。而不是添加 空格,我们添加了点。如果没有,他们偶尔会从输出中删除空格。
Atas ialah kandungan terperinci Program C++ untuk mencetak corak bintang X. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!