*菱形 问题描述: 对给定的一个数n输出下列图形。 当n=1 时,输出 .*.*.*.*. 当n=2时,输出 ..*...*.*.*.*.*.*.*...*.. 当n=4时,输出 ....*.......*.*.....*.*.*...*.*.*.*.*.*.*.*.*.*.*.*.*...*.*.*.....*.*.......*.... 输入: 一个数n。(1<=n<=100) 输出: 如图所示。(每行末尾没有多余的空格!) #include<iostream>using namespace std;int main(){ int n,count=0,flag=0; while(cin>>n) {//处理前n+1行 for(int i=1;i<=n+1;i++) { flag=0; count=0; for(int j=1;j<=2*n+1;j++) { if(j<=n+1-i||count==i){cout<<'.';continue;} if(flag==1){cout<<'.';flag=0;continue;} else { if(count<i) { cout<<'*'; flag=1; count++; } } } cout<<endl; } //处理后n行 for(int k=n;k>=1;k--) { flag=0; count=0; for(int m=1;m<=2*n+1;m++) { if(m<=n+1-k||count==k){cout<<'.';continue;} if(flag==1){cout<<'.';flag=0;continue;} else { if(count<k) { cout<<'*'; flag=1; count++; } } } cout<<endl; } } return 0;}

评论