/* 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”的赋值。希望以后能够找到答案。