字符棱形
时间: 1ms 内存:64M
描述:
根据读入的字符和边长,勾画字符棱形。
输入:
输入数据含有不超过50组的数据,每组数据包括一个可见字符c和一个整数n(1≤n≤30)。
输出:
输出以c为填充字符,边长为n的棱形,勾画每个棱形时都应另起一行。
示例输入:
A 5 B 3
示例输出:
A
AAA
AAAAA
AAAAAAA
AAAAAAAAA
AAAAAAA
AAAAA
AAA
A
B
BBB
BBBBB
BBB
B
提示:
参考答案(内存最优[752]):
#include<stdio.h>
int main()
{
int i,j,k,m,n;
char c;
while(scanf("%c %d",&c,&n)!=EOF)
{
getchar();
for(i=0;i<n;i++)
{
for(j=0;j<n-i-1;j++)
printf(" ");
for(k=0;k<=2*i;k++)
printf("%c",c);
printf("\n");
}
for(i=1;i<=n-1;i++)
{
for(j=0;j<i;j++)
printf(" ");
for(m=k-2*i;m>0;m--)
printf("%c",c);
printf("\n");
}
}
return 0;
}
参考答案(时间最优[0]):
#include <iostream>
using namespace std;
int main()
{
char c;
int n,i,j;
while(cin>>c>>n)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i;j++)
cout<<" ";
for(j=1;j<=2*i-1;j++)
cout<<c;cout<<'\n';}
for(i=1;i<=n-1;i++)
{for(j=1;j<=i;j++)
cout<<" ";
for(j=1;j<=2*(n-i)-1;j++)
cout<<c;cout<<'\n';
}
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。