输入顶行字符(大写)和图形的高,输出如图所示图形。 例如顶行字符为 ' A ' ,图形的高为 5。且认为字母是循环的,即Z与A相邻。 A B B C C D D E E D D C C B B A(c语言)
时间: 2023-06-24 18:07:43 浏览: 115
c语言图形(循环的使用)
以下是一个 C 语言的实现:
```c
#include <stdio.h>
int main()
{
char c;
int h, i, j, k;
printf("请输入顶行字符和高度,中间用空格隔开:");
scanf("%c %d", &c, &h);
for (i = 1; i <= h; i++) {
for (j = 1; j <= h - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
if (k % 2 == 1) {
printf("%c", c + (k + 1) / 2 - 1);
} else {
printf(" ");
}
}
printf("\n");
}
for (i = h - 1; i >= 1; i--) {
for (j = 1; j <= h - i; j++) {
printf(" ");
}
for (k = 1; k <= 2 * i - 1; k++) {
if (k % 2 == 1) {
printf("%c", c + (k + 1) / 2 - 1);
} else {
printf(" ");
}
}
printf("\n");
}
return 0;
}
```
这个程序先读入顶行字符和高度,然后按照题目要求输出图形。程序中用三个循环分别控制行、空格和字符的输出。注意到题目中字母是循环的,我们可以用 ASCII 码来实现循环。具体来说,我们可以将顶行字符的 ASCII 码加上一个偏移量,来计算当前需要输出的字符。偏移量可以通过计算当前位置 k 的奇数部分中间的数来得出,即 (k+1)/2。
阅读全文