DHU OJ | 基本练习-35 空心三角形

27 篇文章 1 订阅

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;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值