输入行数 n 和首数字字符,在屏幕上输出由数字围起的高和下底宽度均 n 的空心梯形。 要求:输出的数字是循环的,即输出数字 9 后再输出的数字是 0。
输入:行数n 和首字符
输出:空心梯形
测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
---|---|---|---|---|---|
测试用例 1 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 2 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 3 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 4 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 5 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 6 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 7 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
测试用例 8 | 以文本方式显示
| 以文本方式显示
| 1秒 | 64M | 0 |
#include <stdio.h>
int main() {
int m, num, i = 1, j = 1, n;
scanf("%d %d", &m, &num);
n = num;
if (m == 1)
printf("%-1d\n", num);
else {
if (m % 2 == 0) {
for (j = 1; j <= (3 * m - 2) / 2; j++) {
printf("%-2d", n);
n++;
if (n > 9)
n = 0;
}
if (n == 0)
n = 9;
else
n = n - 1;
for (j = (3 * m - 2) / 2 + 1; j <= 3 * m - 2; j++) {
if (j == 3 * m - 2)
printf("%-1d\n", n);
else
printf("%-2d", n);
n--;
if (n < 0)
n = 9;
}
} else {
for (j = 1; j <= (3 * m - 1) / 2; j++) {
printf("%-2d", n);
n++;
if (n > 9)
n = 0;
}
if (n == 0)
n = 9;
else
n = n - 2;
for (j = (3 * m - 1) / 2 + 1; j <= 3 * m - 2; j++) {
if (j == 3 * m - 2)
printf("%-1d\n", n);
else
printf("%-2d", n);
n--;
if (n < 0)
n = 9;
}
}
n = num;
if (m >= 2) {
for (i = 2; i < m; i++) {
n++;
if (n > 9)
n = 0;
for (j = 1; j <= 3 * m - 1 - i; j++) {
if (i > j || i < j && j < 3 * m - 1 - i)
printf(" ");
if (i == j)
printf("%-2d", n);
if (j == 3 * m - 1 - i)
printf("%-1d\n", n);
}
}
}
n++;
if (n > 9)
n = 0;
if (m % 2 == 0) {
for (j = 1; j <= (3 * m - 2) / 2; j++) {
if (j < i)
printf(" ");
if (j >= i) {
printf("%-2d", n);
n++;
if (n > 9)
n = 0;
}
}
if (n == 0)
n = 9;
else
n = n - 1;
for (j = (3 * m - 2) / 2 + 1; j <= 3 * m - 1 - i; j++) {
if (j == 3 * m - 1 - i)
printf("%-1d\n", n);
else
printf("%-2d", n);
n--;
if (n < 0)
n = 9;
}
}
if (m % 2 != 0) {
for (j = 1; j <= (3 * m - 1) / 2; j++) {
if (j < i)
printf(" ");
if (j >= i) {
printf("%-2d", n);
n++;
if (n > 9)
n = 0;
}
}
if (n == 0)
n = 9;
else
n = n - 2;
for (j = (3 * m - 1) / 2 + 1; j <= 3 * m - 1 - i; j++) {
if (j == 3 * m - 1 - i)
printf("%-1d\n", n);
else
printf("%-2d", n);
n--;
if (n < 0)
n = 9;
}
}
}
return 0;
}