您的位置:首页 > 其它

hdoj 2091空心三角形

2014-08-08 19:24 288 查看
/*

空心三角形

Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 24650 Accepted Submission(s): 6809

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>

#include<string.h>

char ch[50][100];

int main()

{

int n,s=0;

char c;

while(scanf("%c",&c)&&(c!='@'))

{

scanf("%d",&n);

getchar();

int i,j,k,l;

if(s!=0)

{

printf("\n");

}

memset(ch,0,sizeof(ch));

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

{

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

{

if(j-i==n-1)

ch[i][j]=c;

if(j-i<n-1)

ch[i][j]=' ';

}

for(k=n-1;k>0;k--)

{

if(k+i==n-1)

ch[i][k]=c;

if(k+i>n-1)

ch[i][k]=' ';

}

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

printf("%c",ch[i][l]);

printf("\n");

}

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

printf("%c",c);

printf("\n");

s++;

}

return 0;

}

调试正确 但过不去 不适合用数组

*/

#include<stdio.h>

int main()

{

int n,s=0;

char c;

while(scanf("%c",&c)&&(c!='@'))

{

scanf("%d",&n);

getchar();

int i,j,k,l;

if(s!=0)

{

printf("\n");

}

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

{

for(j=1;j<=n+i;j++)

{

if(j+i==n||j-i==n)

printf("%c",c);

else

printf(" ");

}

printf("\n");

}

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

printf("%c",c);

printf("\n");

s++;

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: