字符棱形
时间: 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;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。
