c語言列印空白星號矩形
阿新 • • 發佈:2018-11-12
使用者輸入一個數字N,輸出一個N*N的空心矩形,N最小為3
效果如下:
思路是這樣的,首先拿到這道題是沒有思路的,但我們可以舉幾個例子,當N等於3的情況,當N=5的情況,發現第一行和最後一行是相同的,而第2行到第N-2行也是相同的。先用一個迴圈控制輸出的是哪一行,然後裡層迴圈控制每行的字元應該是什麼? 因為每行的字元有的時候需要輸出空格有的時候需要輸出星號,所以需要做一些判斷,如果是要輸出的字元位置是
每行的第一個或者最後一個,那麼就輸出星號,否則輸出空格,沒輸出一行再輸出一個換行。
int main() { int N = 5; for (int hang = 1; hang <= N; hang++) { if (hang == 1 || hang == N) { for (int index = 1; index <= N; index++) { printf("*"); } printf("\n"); } if (hang >= 2 && hang <= N - 1) { for (int index=1; index <= N; index++) { if (index == 1 || index == N) { printf("*"); } else { printf(" "); } } printf("\n"); } }