可以使用兩個嵌套的for循環來打印菱形,其中外層循環用于控制每行的空格數量和星號數量,內層循環用于打印空格和星號。
以下是一個例子:
#include <stdio.h>
int main() {
int rows, i, j, space;
printf("請輸入菱形的行數:");
scanf("%d", &rows);
// 打印上半部分
for (i = 1; i <= rows; i++) {
// 打印空格
for (space = 1; space <= rows - i; space++) {
printf(" ");
}
// 打印星號
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
// 打印下半部分
for (i = rows - 1; i >= 1; i--) {
// 打印空格
for (space = 1; space <= rows - i; space++) {
printf(" ");
}
// 打印星號
for (j = 1; j <= 2 * i - 1; j++) {
printf("*");
}
printf("\n");
}
return 0;
}
以上代碼中,首先通過scanf
函數從用戶處獲取菱形的行數。然后通過兩個嵌套的for循環打印上半部分的菱形,內層循環打印空格和星號。接著再通過兩個嵌套的for循環打印下半部分的菱形,內層循環同樣打印空格和星號。最后返回0表示程序正常結束。