1. 程式人生 > >JSK-16014 列印字母圖形【列印圖案】

JSK-16014 列印字母圖形【列印圖案】

列印字母圖形 由鍵盤輸入一個大寫字母(A 到 Z 中的任意一個),輸出如下圖所示由相關大寫字母組成的圖形。所輸入的字母一定為輸出檔案的第一個字元(位於圖形的左上角),其餘部分的字母構成規律和分佈由樣例給出。 輸入格式 輸入只有一行,僅為一個大寫字母。 輸出格式 輸出包含一個如樣例所示的圖形。注意圖形的行數與輸入的字母有關,圖形中的第一行最左側一定是你輸入的那個字母。 樣例輸入1 C 樣例輸出1 CBAAB BAA A 樣例輸入2 E 樣例輸出2 EDCBAABCD DCBAABC CBAAB BAA A 題目來源 2016 年海淀區中小學生資訊學奧林匹克競賽

問題連結JSK-16014 列印字母圖形

問題描述:(略) 問題分析:     這是一個列印圖案問題。關鍵是找出其中的規律與關係。      程式說明:(略) 參考連結:(略) 題記:規律與關係尤為重要。

AC的C語言程式如下:

/* JSK-16014 列印字母圖形 */

#include <stdio.h>

char c, a;
int step;
char nextchar(char a)
{
    if(a == 'A' && step == -1) {
        step = -step;
        c--;
        return a;
    } else if(a == c &&
step == 1) { step = -step; return a; } else return a + step; } int main(void) { int n, i, j; scanf("%c", &c); a = c; n = c - 'A' + 1; step = -1; for(i = 0; i < n; i++) { for(j = 0; j < i; j++) putchar(' '); for
(j = 0; j < 2 * (n - i) - 1; j++) { putchar(a); a = nextchar(a); } putchar('\n'); } return 0; }