/*
*程序的版权和版本声明部分:
*Copyright(c)2014,烟台大学计算机学院学生
*All rights reserved.
*文件名称:
*作者:田成琳
*完成日期:2014 年 6 月 11 日
*版本号:v1.0
*对任务及求解方法的描述部分:
*输入描述:输入数据含有不超过50组的数据,每组数据包括一个可见字符c和一个整数n。
*问题描述:根据读入的字符和边长,勾画字符棱形。
*程序输出:输出以c为填充字符,边长为n的棱形,勾画每个棱形时都应另起一行。
*问题分析:
*算法设计:
*/
#include<iostream>
using namespace std;
int main()
{
char a,b;
int n,m,i,j,k;
cin>>a>>n>>b>>m;
for(i=1;i<=n;++i)//行数
{
for(j=n-i;j>0;--j)//空格数
cout<<" ";
for(k=1;k<2*i;++k)//字符
cout<<a;
cout<<endl;
}
for(i=n-1;i>=1;--i)//行数
{
for(j=i;j<n;++j)//空格数
cout<<" ";
for(k=2*i-1;k>=1;--k)//字符
cout<<a;
cout<<endl;
}
for(i=1;i<=m;++i)//行数
{
for(j=m-i;j>0;--j)//空格数
cout<<" ";
for(k=1;k<2*i;++k)//字符
cout<<b;
cout<<endl;
}
for(i=m-1;i>=1;--i)//行数
{
for(j=i;j<m;++j)//空格数
cout<<" ";
for(k=2*i-1;k>=1;--k)//字符
cout<<b;
cout<<endl;
}
return 0;
}
运行结果: