浏览 1724 次
锁定老帖子 主题:C++基础星形打印方法
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-10-10
#include <iostream.h> void rectangle(int heigth, int width); void isosceles(int heigth); void diamond(int heigth); int main() { int heigth; int width; char c; cout<<"please choose the shapes that you would like using,if you want to quit please enter Q(uit)"<<endl; cout<<"(R/I/D)"<<endl; cin>>c; if(c == 'R' || c == 'r') { cin>>heigth>>width; rectangle(heigth, width); } if(c=='I' || c=='i') { cin>>heigth; isosceles(heigth); } if(c=='D' || c=='d') { cout<<"Please enter an odd number!"<<endl; cin>>heigth; if((heigth%2) != 0) { diamond(heigth); } else { cout<<"This is an IllegalAgrument!"<<endl; } } return 0; } void rectangle(int heigth, int width) { int i = 0; int j = 0; char c = '*'; for(i=0; i<heigth; i++) { for(j=0; j<width; j++) { cout<<c; } cout<<endl; } } void isosceles(int heigth) { int i; int j = 0; int k = 0; int row = heigth; int spacenum; int starnum; for(k=0; k<heigth; k++) { spacenum = row--; if(k==0) { starnum = 1; } else { starnum = k*2+1; } for(i=spacenum; i>0; i--) { cout<<" "; } for(j=1; j<=starnum; j++) { cout<<"*"; } cout<<endl; } } void diamond(int heigth) { int rownum = heigth; int spacenum; int starnum; int i=0; int j=1; int k; int a = rownum/2; for(i=0; i<heigth; i++) { if(i<rownum/2) { spacenum = a--; } else { spacenum = a++; } //cout<<spacenum<<"sapcenum"<<endl; starnum = rownum -spacenum*2; //cout<<starnum<<"starnum"<<endl; for(j=0; j<spacenum; j++) { cout<<" "; } for(k=0; k<starnum; k++) { cout<<"*"; } cout<<endl; } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |