成績: 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;
}
沒有留言:
張貼留言