2761: 【例38.2】 图形输出

内存限制:64 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:56 解决:33

题目描述

打印下面两种图形的其中一种:正方形、菱形。

输入

第一行一个大写字母,表示输出图形的类型,'$Z$'表示正方形,'$L$'表示菱形;
第二行一个正整数$x$ ($1≤x≤100$),表示输出图形的边长。

输出

参考样例,输出相应的图形。

样例输入 复制

L
4

样例输出 复制

   *
  ***
 *****
*******
 *****
  ***
   *

提示

#include<bits/stdc++.h>
using namespace std;
int n;
char c;
int main(){
    cin>>c>>n;
    if(c=='L') {
    	for(int i=1,sp=n-1;i<n;i++,sp--) {
    		for(int j=1;j<=sp;j++)
    			cout<<' '; 
			for(int j=1;j<=2*i-1;j++)
				cout<<'*';
    		cout<<endl;
		}
		for(int j=1;j<=2*n-1;j++)
			cout<<'*';
		cout<<endl;
		for(int i=n-1,sp=1;i>=1;i--,sp++) {
    		for(int j=1;j<=sp;j++)
    			cout<<' '; 
			for(int j=1;j<=2*i-1;j++)
				cout<<'*';
			cout<<endl;
		}
	}
	else {
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++)
				cout<<'*';
			cout<<endl;			
		}
	}
	return 0;
}