35 空心三角形
作者: xxx时间限制: 1S章节: 循环
问题描述 :
把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果。在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,以便看看效果。
输入说明 :
第一行是一个数字T ( T < 30 ),接下来有T 行,表示有T 组测试数据 :
每行包含一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹,整数n表示等腰三角形的高。显然其底边长为2n-1。
输出说明 :
每个样板三角形之后应空上一行。
样板三角形最下面一行没有空格,其余行的最后没有空格。
输入范例 :
2
g 3
@ 4输出范例 :
g
g g
ggggg@
@ @
@ @
@@@@@@@
笔记
本题考察的一个点是数字和字符的混合输入。
在数字和字符混合输入时,要特别注意末尾的换行符。
使用getchar()等进行字符读入时,要避免将上一行scanf()语句缓存的换行符读入。
另外,若字符作为第二个输入,要避免将中间的空格读入。
代码
#include<stdio.h>
int main(){
int T;
scanf("%d",&T);
char m;
int n;
int i,j;
while(T){
getchar();
m = getchar();
scanf("%d",&n);
for(i=1;i<=n;i++){
for(j=1;j<=n+i-1;j++){
if(i==n) printf("%c",m);
else{
if(j==n-i+1 || j==n+i-1) printf("%c",m);
else printf(" ");
}
}
printf("\n");
}
printf("\n");
T--;
}
return 0;
}