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

基礎練習:字母圖形生成規律與實現

     編輯:關於C++

問題描述

輸出 n 行 m 列字母圖形。規律:第 i 行第 j 列字符為 'A' + |i-j|。
例 n=5,m=7:
ABCDEFG
BABCDEF
CBABCDE
DCBABCD
EDCBABC

規律分析

觀察矩陣:
- 主對角線 (i=j) 全為 'A'
- 向右遞增:A→B→C...
- 向左遞增:A→B→C...
- 本質:字符由「到對角線距離」決定 → 'A' + |i-j|

正確代碼

#include 
using namespace std;
int main() {
    int n, m;
    while (cin >> n >> m) {
        for (int i=0; i

常見錯誤分析

錯誤思路:以為每行是循環移位。實際上第 6 行應為 FEDCBA... 而非循環回 ABCDE...。關鍵在於識別「絕對差值」而非「模運算」。

複雜度

  • 時間:O(n×m),n,m≤26 極快
  • 空間:O(1)

擴展變體

  • 若字母超過 'Z' 怎麼辦?題目保證 n,m≤26,|i-j|≤25,安全
  • 改為小寫:`char('a' + k)`
  • 改為數字:`cout << k`

此題核心是發現二維矩陣中「坐標差值決定值」的幾何規律,而非字符串循環移位,體現從數據表面歸納本質模式的能力。

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