首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C++ 輸出固定圖形:printf 直接輸出 vs 迴圈生成邏輯

     編輯:程式設計疑難解答

最簡單硬編碼輸出


printf("*\n****\n***\n****\n******");

通用迴圈生成 (若為規律圖形)

題目圖形無明顯數學規律 (行星號數: 1,4,3,4,6),**非標準三角形/菱形**,硬編碼最直接。若為教學示範迴圈,請確認完整規律後再設計演算法。

教學級菱形/三角形範例 (供參考)


// 等腰三角形 高度 n
for (int i = 1; i <= n; i++) {
    for (int s = 1; s <= n - i; s++) printf(" ");
    for (int k = 1; k <= 2 * i - 1; k++) printf("*");
    printf("\n");
}

// 菱形 高度 2n-1
for (int i = 1; i <= 2*n-1; i++) {
    int stars = (i <= n) ? 2*i-1 : 2*(2*n-i)-1;
    int spaces = n - (stars+1)/2;
    for (int s = 0; s < spaces; s++) printf(" ");
    for (int k = 0; k < stars; k++) printf("*");
    printf("\n");
}

建議

  • **固定輸出** 用 printf/cout 硬編碼最簡潔。
  • **動態生成** 需先分析行號與星號數的數學關係,再轉為迴圈。
  • C++ 建議用 std::cout 替代 printf,型別安全、可擴展。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved