[c++]输出金字塔

发布时间:2019-06-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了[c++]输出金字塔脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

输出:

    1
   2 2
  3 3 3
 4 4 4 4
5 5 5 5 5

代码:

void printArr(int* arr, int n){
    for(int i=1;i<n;i++){
        if(arr[i]==0){
            cout<<" ";
        }else{
            cout<<arr[i];
        }
    }
    cout<<endl;
}

int main()
{
    int max = 5; //可以为10以下的数, 10以上可以自己试一下,^-^
    int len = max + max -1 ; //要存储的数目,是奇数
    int mid = len/2 + 1;  //5
    for(int i=1;i<=max;i++){
        if(i%2==0){
            //计算出位置
            int *line = new int[len+1](); //多申请一个, 在[1:len] 上操作, 避免差一错误
            for(int j=0;j<i/2;j++){ //两边铺开
                line[mid+1+j*2] = i;
                line[mid-1-j*2] = i;
            }
            printArr(line,len+1);
            delete[] line;
        }else{
            //计算出位置
            int *line = new int[len+1]();
            line[mid] = i; //先填中间
            for(int j=1;j<=i/2;j++){ //两边铺开 j的范围尽量要方便操作
                line[mid+j*2] = i;
                line[mid-j*2] = i;
            }
            printArr(line,len+1);
            delete[] line;

        }
    }
}

脚本宝典总结

以上是脚本宝典为你收集整理的[c++]输出金字塔全部内容,希望文章能够帮你解决[c++]输出金字塔所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。