编译程序:本题目要求读入空心等腰梯形的高度(也是首行的字母数)和空心等腰梯形起始字母,然后输出空心字符等腰梯形。所谓“空心梯形”是指:首尾行是由字母组成,中间行数均为两端为字母、中间为空格的字符串构成,每行的字符串中心对齐;两行字符串长度差2,且字母从给定的起始字母逐一递增。 输入格式: 输入在一行中给出起始字母(范围为英文大写字母A-G)和等腰梯形的高度(为不超过7的正整数)。 输出格式: 输出空心字符等腰梯形。 输入样例: 例如: 3 B 输出样例: 例如: BBB C C DDDDDDD
时间: 2023-05-27 18:06:55 浏览: 152
C++统计中英文大小写字母、数字、空格及其他字符个数的方法
5星 · 资源好评率100%
#include <stdio.h>
#include <stdlib.h>
int main()
{
char start;
int n;
scanf("%d %c", &n, &start); //读入高度和起始字母
int width = 2 * n - 1; //计算梯形底部宽度
int i, j, k;
//输出首行
for (i = 0; i < n; i++) {
printf("%c", start + i); //输出字母
}
printf("\n"); //换行
//输出中间行
for (i = 2; i < n; i++) {
for (j = 0; j < n - i; j++) {
printf(" "); //输出左侧空格
}
printf("%c", start + i - 1); //输出左侧字母
for (k = 0; k < width - 2 * (n - i) - 2; k++) {
printf(" "); //输出中间空格
}
printf("%c\n", start + i - 1); //输出右侧字母并换行
}
//输出末行
for (i = 0; i < width; i++) {
printf("%c", start + i); //输出字母
}
printf("\n"); //换行
return 0;
}
阅读全文