1打印图形(20分) 题目内容:
1打印图形(20分)题目内容:
输入数字和大写字母,在屏幕上输出如图所示的X图形 。输出的字符是循环的,即当字母循环到 Z 时,下一个字母为 A 。
还有一个条件是,必须跳过字母表中的元音(即A、E、I、O、U)
输入格式:
数字和大写字母
输出格式:
X图形
输入样例:
4 A
输出样例:(实在不知道如何开始,求指导)
B J
C H
D G
F
D G
C H
B J
#include <stdio.h> main() { int n; char c; printf("输入数字: "); scanf("%d", &n); getchar(); printf("输入大写字母: "); c = getchar(); if (c < 'A' || c > 'Z') return 0; if (c=='A' || c=='E' || c=='I' || c=='O' || c=='U') c += 1; char s[] = "BCDFGHJKLMNPQRSTVWXYZ"; int pi = 2*n-1; char ps[pi]; int i, j; for (i=0; i<21; i++) if (s[i] == c) break; for (j=0; j<pi; j++) { ps[j] = s[i++]; if (i > 20) i = 0; } for (j=0; j<pi; j++) if (j < n-1) printf("%*c%*c\n", j+1, ps[j], pi-1-j*2, ps[pi-j-1]); else if (j == n-1) printf("%*c\n", j+1, ps[j]); else printf("%*c%*c\n", pi-j, ps[pi-j-1], j*2-pi+1, ps[j]); }