文章

25

粉丝

19

获赞

2

访问

17.0k

头像
字符棱形 题解:
P1473 杭州电子科技大学2019年机试题
发布于2024年8月27日 12:46
阅读数 988

多一行空格,不改了

//应该就是中间的是n+2
//这里是2n-1是总行数,不是最大的*数 
//n是啥,n只是平行四边形的边长 
#include <iostream>
using namespace std;

int main(){
	int n,num,a;
	while(cin>>n){
		if(n == 1){
			cout<<'*'<<endl;
			continue;
		}
//		num = n+2;//行数,星号数
//		a = (num-1)/2;//输出空格,第一次输出行数-1
		//修改为 
		num = 2*n-1;
		a = n; 
		int k = a;
		for(int i = 1; i<=a+1; i++){
			int j;
			for(j = k; j>=1; j--) cout<<' ';
			for(int w = 1; w<=num-2*k; w++) cout<<'*';
			for(j = k; j>=1; j--) cout<<' ';
			cout<<endl;
			k--;
		}
		//下一半
		int j; k = 1;
		for(int i = 1; i<=a; i++){
			for(j = k; j<2; j++) cout<<' ';
			for(int w = num-2*(2-k); w>=1;w--) cout<<'*';
			for(j = k; j<=a; j++) cout<<' ';
			cout<<endl;
			k--;
		} 
	}
	
	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发