ในการพิมพ์ดาวในรูปแบบเพชร เราใช้ nested for loops
ตรรกะที่เราใช้ในการพิมพ์ดาวในรูปแบบเพชรแสดงอยู่ด้านล่าง −
//สำหรับครึ่งบนของเพชร ตรรกะคือ:for (j =1; j <=rows; j++){ for (i =1; i <=rows-j; i++) printf(" "); สำหรับ (i =1; i<=2*j-1; i++) printf("*"); printf("\n");}
สมมติว่าให้เราพิจารณา row=5 มันจะพิมพ์ผลลัพธ์ดังนี้ −
* *** ***** ******* *********
//สำหรับครึ่งล่างของเพชร ตรรกะคือ:for (j =1; j <=rows - 1; j++){ for (i =1; i <=j; i++) printf(" "); สำหรับ (i =1; i <=2*(rows-j)-1; i++) printf("*"); printf("\n");}
สมมติว่า row=5 ผลลัพธ์ต่อไปนี้จะถูกพิมพ์ −
******* ***** *** *
ตัวอย่าง
#includeint main(){ แถว int, i, j; printf("ใส่จำนวนแถว\n"); scanf("%d", &แถว); สำหรับ (j =1; j <=แถว; j++){ สำหรับ (i =1; i <=rows-j; i++) printf(" "); สำหรับ (i =1; i<=2*j-1; i++) printf("*"); printf("\n"); } for (j =1; j <=rows - 1; j++){ for (i =1; i <=j; i++) printf(" "); สำหรับ (i =1; i <=2*(rows-j)-1; i++) printf("*"); printf("\n"); } return 0;}
ผลลัพธ์
ป้อนหมายเลขแถวที่ 5 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *ก่อน>