首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C 語言圖形輸出練習:用星號繪製字母 C

     編輯:關於C語言

題目描述

使用 * 字符在控制台輸出大寫字母 C 的圖案。

分析與設計

  • 觀察字母 C 結構:頂橫線、左豎線、底橫線
  • 將圖案拆解為 5 行固定字符串
  • 直接逐行 printf 最簡潔;也可用循環生成(參數化寬高)

最簡實現(固定圖案)

#include <stdio.h>

int main(void) {
    printf(" ****\n");
    printf(" *\n");
    printf(" *\n");
    printf(" *\n");
    printf(" ****\n");
    return 0;
}

參數化實現(可調整寬高)

#include <stdio.h>

void print_C(int width, int height) {
    if (width < 4 || height < 3) return;

    // 頂行
    printf(" ");
    for (int i = 0; i < width - 2; i++) printf("*");
    printf("\n");

    // 中間段
    for (int row = 0; row < height - 2; row++) {
        printf(" *\n");
    }

    // 底行
    printf(" ");
    for (int i = 0; i < width - 2; i++) printf("*");
    printf("\n");
}

int main(void) {
    print_C(6, 5);  // 寬 6、高 5
    return 0;
}

進階:通用字母繪製框架

// 定義 5x5 點陣字體(位圖)
const unsigned char font_A[5] = {0x3E, 0x51, 0x49, 0x45, 0x3E}; // 示例

void print_char_bitmap(const unsigned char *bitmap, int rows, int cols) {
    for (int r = 0; r < rows; r++) {
        for (int c = cols - 1; c >= 0; c--)
            putchar((bitmap[r] >> c) & 1 ? '*' : ' ');
        putchar('\n');
    }
}

教學意義

  1. 建立幾何圖案到字符矩陣的映射思維
  2. 練習循環嵌套控制輸出座標
  3. 引入參數化/數據驅動思想(硬編碼 → 變量 → 表驅動)
  4. 為後續點陣字體、終端 UI、遊戲渲染打基礎

從固定輸出到參數化生成,再到表驅動渲染,這條路徑貫穿了「硬編碼 → 抽象 → 復用」的程序設計核心進化。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved