您的位置:首页 > 其它

空心三角形

2015-06-04 13:55 211 查看

空心三角形

Time Limit
1s

Memory Limit
32768KB

Judge Program
Standard

Ratio(Solve/Submit)
18.18%(2/11)

Description:
用给出的字符画出空心三角形。

Input:
第一行输入整数t,表示有t组测试数据,每组测试数据占一行,每行包含一个字符和一个整数n

Output:
三角形的中间为空。显然行末没有多余的空格。

Sample Input:
2X 3A 7

Sample Output:
X X XXXXXX      A     A A    A   A   A     A  A       A A         AAAAAAAAAAAAAA

遇到的一些问题:
1.代码如下
#include<stdio.h>
int main()
{
int i,j,k,n,s;
char ch;
scanf("%d",&n);                      //输入有几组数据。
for(i = 1;i <= n+1;i ++)
{
printf("n = %d,i == %d\n",n,i);
//scanf("%c %d",&ch,&s);
scanf("%c",&ch);                 //输入打印三角形要用的字符
scanf("%d",&s);                  //输入三角形的规模
for(j = 1;j <= s;j++)
{
if(j == s)
{
for(k = 1;k<= s*2-1;k++)
{
printf("%c",ch);
}
//printf("\n");
//break;
}
else if(j == 1)
{
for(k = 1;k <= s+(j-1);k ++)
{
if(k == s)
printf("%c",ch);
else
printf(" ");
}
}
else
{
for(k = 1;k<= s*2-1;k++)
{
if(k == s-(j-1)||k == s+(j-1))
printf("%c",ch);
else
printf(" ");
}
}
printf("\n");
}
//i ++;
//printf("\n");
}

return 0;
}
运行结果:
2

n = 2,i == 1

x 3

n = 2,i == 2

x

x x

xxxxx

n = 2,i == 3

a 7

请按任意键继续. . .
2.
代码如下:
#include<stdio.h>
int main()
{
int i = 0,j,k,n,s;
char ch;
scanf("%d",&n);                      //输入有几组数据。
while(scanf("%c %d",&ch,&s) != EOF)
{
i ++;
//scanf("%c %d",&ch,&s);
//scanf("%c",&ch);                 //输入打印三角形要用的字符
//scanf("%d",&s);                  //输入三角形的规模
for(j = 1;j <= s;j++)
{
if(j == s)
{
for(k = 1;k<= s*2-1;k++)
{
printf("%c",ch);
}
//printf("\n");
//break;
}
else if(j == 1)
{
for(k = 1;k <= s+(j-1);k ++)
{
if(k == s)
printf("%c",ch);
else
printf(" ");
}
}
else
{
for(k = 1;k<= s*2-1;k++)
{
if(k == s-(j-1)||k == s+(j-1))
printf("%c",ch);
else
printf(" ");
}
}
printf("\n");
}
//i ++;
//printf("\n");
if(i == n)
break;
}

return 0;
}
运行结果:
2

x 3

x

x x

xxxxx

Press any key to continue

三.代码如下:
#include<stdio.h>
int main()
{
int i = 0,j,k,n,s;
char ch;
scanf("%d",&n);                      //输入有几组数据。
while(scanf("%c %d",&ch,&s) != EOF)
{
i ++;
//scanf("%c %d",&ch,&s);
scanf("%c",&ch);                 //输入打印三角形要用的字符
scanf("%d",&s);                  //输入三角形的规模
for(j = 1;j <= s;j++)
{
if(j == s)
{
for(k = 1;k<= s*2-1;k++)
{
printf("%c",ch);
}
//printf("\n");
//break;
}
else if(j == 1)
{
for(k = 1;k <= s+(j-1);k ++)
{
if(k == s)
printf("%c",ch);
else
printf(" ");
}
}
else
{
for(k = 1;k<= s*2-1;k++)
{
if(k == s-(j-1)||k == s+(j-1))
printf("%c",ch);
else
printf(" ");
}
}
printf("\n");
}
//i ++;
//printf("\n");
if(i == n)
break;
}

return 0;
}
运行结果:
2

x 3

x

x x

xxxxx

a 7

a

a a

a a

a a

a a

a a

aaaaaaaaaaaaa

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