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
2016-06-21 20:43
程序代码:#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]);
}
2016-06-21 21:52
2016-06-24 21:37