成績: 0 / 倒扣: 0.1
請寫一個程式, 輸入一個整數 n, 輸出指定的 n 個金字塔型的圖樣
請注意:
請運用函式來降低程式的複雜度, 使得設計更為直覺 (例如可以把列印 n 層金字塔裡的第 i 層設計成一個函式)n 的數值在 1 到 20 之間
輸入測試資料:
5↵
5 即為 n
輸出測試資料:
x< x x x x< x x x x x x x x x< x x x x x x x x x x x x x x x x< x x x x x x x x x x x x x x x x x x x x x x x x x<
< 是我自己加上去的, 表示最上層x 後並不用有空格
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; int main(void) { int a; cin >>a; if(a >= 1 && a <=20){ for(int i = 0 ; i < a ; i++ ){ for(int k = 0 ; k < a ; k++){ for(int j = 1 ; j <= 2*(a-k)-1 ; j ++){ if((a-k)+i>=a){ if(j >= (a-k)-(i-k) && j <= (a-k)+(i-k)){ printf(" x"); }else{ if(j <= (a-k)-(i-k)) { printf(" "); }else if (j >= (a-k)+(i-k) &&i!=k){ printf(" "); } } } } }printf("\n"); } } return 0; }
沒有留言:
張貼留言