【C系列3.15】循环训练之镂空的三角形 1959
Time Limit:
1 s Memory Limit:
32 MB
Submission:
392 AC:
146 Score:
10.10
Description
wzj非常擅长UI设计,因此被文浩的猎头公司招去掏三角形。把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
Input
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。如果遇到@字符,则表示所做出来的样板三角形已经够了。
Output
每个样板三角形之间应空上一行,三角形的中间为空。显然行末没有多余的空格。
Samples
Hint
1. 注意两个输出之间是有换行了,也就是多一个换行。
2. 回车也是字符,需要处理好。
下附AC代码:
#include <stdio.h>
int main() {char ch;int n;int i, j, k;while (scanf("%c", &ch) != EOF) {if ('@' == ch)break;scanf("%d", &n);for (i = 1; i <= n; ++i) {for (j = 1; j <= n - i; ++j) {printf(" ");}for (k = 1; k <= 2 * (i - 1) + 1; ++k) {if (1 == i || n == i)printf("%c", ch);else {if (1 == k || k == 2 * (i - 1) + 1)printf("%c", ch);elseprintf(" ");}}printf("\n");}printf("\n");getchar();}return 0;
}
原题链接: http://acm.hznu.edu.cn/OJ/problem.php?cid=1091&pid=32