/* Copyright (c) 2012, 烟台大学计算机学院
* All rights reserved.
* 作 者: 徐凯旋
* 完成日期:2012 年 10 月 13 日
* 版 本 号:v1.0
* 输入描述: 略
* 问题描述:各种符号的规则输出
* 程序输出:各种符号组合成各种图案规则输出
* 问题分析:略
* 算法设计:略
*/
(e)
#include <iostream>
using namespace std;
int main()
{
int i,j;
for(j=1;j<=5;++j)
cout<<" ";
cout<<"@"<<endl;
for(i=2;i<=5;++i)
{
for(j=1;j<=6-i;++j)
cout<<" ";
cout<<"@";
for(j=1;j<=2*i-3;++j)
cout<<" ";
cout<<"@"<<endl;
}
for(j=1;j<=11;++j)
cout<<"@";
cout<<endl;
return 0;
}
运行结果:
(f)
#include <iostream>
using namespace std;
int main()
{
int i,j;
for(i=1;i<=5;++i)
{
for(j=1;j<=6-i;++j)
cout<<" ";
for(j=1;j<=2*i-1;++j)
cout<<"+";
cout<<endl;
}
for(i=1;i<=6;++i)
{
for(j=1;j<=i-1;++j)
cout<<" ";
for(j=1;j<=13-2*i;++j)
cout<<"+";
cout<<endl;
}
return 0;
}
运行结果:
心得体会:
图案(f)比较简单,是图案(d)(c)的结合版,但并非简单拼接,细微之处略有不同。即并非二图原有的行数,两图连接处需去掉一行。
图案(e)是所有图案中最有技术含量的。
乍一看到图案,完全不知所措。本想坚持独立完成,自己写下一些方法,发现连自己这关都过不去,写着写着就不知该往何处了。最后结合老师的答案,半知半解地一边敲字符,一边思考,虽然还是不太明白,但多少有些收获。 最疑惑的地方就是“j”的赋值。希望以后能够找到答案。