JSK-16014 列印字母圖形【列印圖案】
阿新 • • 發佈:2018-12-13
列印字母圖形 由鍵盤輸入一個大寫字母(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;
}