剝洋蔥

這題讓咱們環形打印字母,很明顯跟矩陣的下標有關,或者說是數組。
經觀察咱們能夠得知,假設數字爲n,那咱們設置一個k值,k的取值範圍爲1~n。
每一個正方形的寬度爲2*n-k,這是咱們掃描的範圍,咱們就讓第k列,第k行,第2*n-k列,以及2*n-k行填入對應的數字就能夠了。
咱們打印的時候,就讓A加上對應的數字,而後輸出便可。
#include <cstdio> #include <iostream>
int shape[100][100]; int main() { int n; scanf("%d", &n); for (int k = 1; k <= n;k++) { for (int i = k; i <= 2 * n - k;i++) { shape[i][k] = k - 1; shape[2 * n - k][i] = k - 1; shape[i][2 * n - k] = k - 1; shape[k][i] = k - 1; } } for (int i = 1; i <= 2 * n - 1; i++) { for (int j = 1; j <= 2 * n - 1;j++) { printf("%c", shape[i][j] + 'A'); } printf("\n"); } system("pause"); return 0; }
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息