空心三角形(杭电2091)

/*空心三角形

Problem Description

把一个字符三角形掏空。就能节省材料成本。减轻重量,但关键是为了追求还有一种视觉效果。在设计的过程中。须要给出各种花纹的材料和大小尺寸的三角形样板。通过电脑暂时做出来。以便看看效果。

Input

每行包括一个字符和一个整数n(0<n<41),不同的字符表示不同的花纹。整数n表示等腰三角形的高。显然其底边长为2n-1。

假设遇到@字符。则表示所做出来的样板三角形已经够了。

Output

每一个样板三角形之间应空上一行,三角形的中间为空。

显然行末没有多余的空格。

Sample Input

X 2

A 7

@

Sample Output

X

XXX

 

A

A A

A   A

A     A

A       A

A         A

AAAAAAAAAAAAA

*/

//注意格式

#include<stdio.h>

int main()

{

char ch,k=0;

int n,i,j;

while(~scanf("%c %d",&ch,&n)&&ch!=‘@‘)

{

if(k==1)//这一步是关键,保证第一个数据输入进去不用 换行,从第二个数据開始,要换行

printf("\n");

else

k=1;

for(i=0;i<n;i++)

{

for(j=0;j<2*n-1;j++)

{

if((j==(2*n-1)/2-i)||(j==(2*n-1)/2+i)||(i==n-1))

printf("%c",ch);

else if(j<(2*n-1)/2+i)

printf(" ");

}

printf("\n");

}

getchar();

}

return 0;

}

时间: 2024-10-19 19:35:25

空心三角形(杭电2091)的相关文章

杭电2091(空心三角形)

空心三角形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 29860    Accepted Submission(s): 8230 Problem Description 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,

杭电2091 空心三角形

题目链接: 解题思路:1—注意输出格式,PE了好多次,具体格式分析见下,从discuss·里面粘贴过来的http://acm.hdu.edu.cn/discuss/problem/post/reply.php?postid=16852&messageid=1&deep=0 反思----边界值一定要多考虑,比如这题只有一行的情况 #include<stdio.h> int main() { char c; int n,t=1; while(scanf("%c %d&qu

杭电2091

1 #include<stdio.h> 2 3 int main() 4 { 5 int n,i,j,t=0; 6 char c; 7 while(scanf("%c",&c)!=EOF&&c!='@') 8 { 9 scanf("%d",&n); 10 getchar(); 11 if(t++) 12 printf("\n"); 13 for(i=0; i<n; ++i) 14 { 15 for

HDU 2091 空心三角形 --- 水题

/* HDU 2091 空心三角形 --- 水题 */ #include <cstdio> int main() { int kase = 0; char ch; int h, t; //h表示高 while (scanf("%c", &ch) == 1 && ch != '@'){ scanf("%d", &h); if (kase++){ printf("\n"); } getchar(); if

hdoj 2091 空心三角形

空心三角形 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 29368    Accepted Submission(s): 8074 Problem Description 把一个字符三角形掏空,就能节省材料成本,减轻重量,但关键是为了追求另一种视觉效果.在设计的过程中,需要给出各种花纹的材料和大小尺寸的三角形样板,通过电脑临时做出来,

杭电ACM分类

杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDIATE DECODABILITY

【转】对于杭电OJ题目的分类

[好像博客园不能直接转载,所以我复制过来了..] 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze 广度搜索1006 Redraiment猜想 数论:容斥定理1007 童年生活二三事 递推题1008 University 简单hash1009 目标柏林 简单模拟题1010 Rails 模拟题(堆栈)1011 Box of Bricks 简单题1012 IMMEDI

杭电ACM 2036 改革春风吹满地

已知直角坐标系3点p(a,b),m(c,d),n(e,f) 求三角形pmn面积的表达式! 解: 无论三角形的顶点位置如何,△PMN总可以用一个直角梯形(或矩形)和两个直角三角形面积的和差来表示而在直角坐标系中,已知直角梯形和直角三角形的顶点的坐标,其面积是比较好求的.下面以一种情形来说明这个方法,其它情形方法一样,表达式也一样(表达式最好加上绝对值,确保是正值)如图情形(P在上方,M在左下,N在右下),过P作X轴的平行线L,作MA⊥L,NB⊥L(设P在A.B之间)则A.B的坐标是A(c,b),B

杭电 HDU 1164 Eddy&#39;s research I

Eddy's research I Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 7117    Accepted Submission(s): 4268 Problem Description Eddy's interest is very extensive, recently  he is interested in prime