可以把重複的部份寫成函式,比較好懂也比較好維護。
#include <stdio.h>
int max(int i, int j) {
if (i > j) {
return i;
} else {
return j;
}
}
/* 指定兩個 * 位置
例:i=7, j=1
印出 " * *"
*/
void print_star(int i, int j) {
for (int x = 0; x <= max(i, j); ++x) {
if (x == i || x == j) {
printf("*");
} else {
printf(" ");
}
}
printf("\n");
}
void print_x(int size) {
for (int i = 0; i <= size - 1; ++i) {
print_star(i, size - i - 1);
}
}
int main() {
print_x(9);
return 0;
}