C++:输入一个数n; 输出的是一个有*和#构成的n*n的正方形; 一圈套一圈~~~~

本文介绍如何用C++编程实现输入一个整数n,输出一个由星号(*)和井号(#)交替组成的n*n的对称正方形。关键在于找到图形的对称规律,并利用循环和数组复制来减少代码复杂性。示例代码中通过四个循环分别绘制了左上角四分之一图形,然后利用对称性填充其他部分,最后输出完成的正方形。
摘要由CSDN通过智能技术生成
输入一个数n; 输出的是一个有*和#构成的n*n的正方形; 一圈套一圈~~~~蛮漂亮的,下面看看怎么实现。。找规律是重点,,这是个高度对称的图形,所以要充分利用对称性,尽量少的循环人工赋值,多采用数组复制数值。。。更好想~~~~
#include<iostream>
using namespace std;

int main(){
    int n;
    while(cin>>n){
        char x[n][n];
        for(int i=1;i<=(n+1)/2;i++){
            if(i%2==1){
                for(int j=i;j<=(n+1)/2;j++){
                    x[j][i]='*';
                    x[i][j]='*';
                }
            }
            if(i%2==0){
                for(int j=i;j<=(n+1)/2;j++){
                    x[j][i]='#';
                    x[i][j]='#&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值