zoukankan      html  css  js  c++  java
  • 2017Final 圆周率山

    为了参加学校的社团风采展,怡山小学数学组的同学们决定画一座圆周率山,以宣传圆周率。
    已知圆周率为:3.
    1415926535 8979323846 2643383279 5028841971 6939937510
    5820974944 5923078164 0628620899 8628034825 3421170679
    8214808651 3282306647 0938446095 5058223172 5359408128
    4811174502 8410270193 8521105559 6446229489 5493038196
    输入格式:
    输入山的高度,为一个不超过10的正整数。
    输出格式:
    以上尖下宽,左右对称的三角形形式,给出圆周率的前若干位(不含小数点)。注意:每行均以数字结尾,即数字右边无空格。
    输入样例1:

    1

     输出样例1:

    3

     输入样例2:

    4

     输出样例2:

       3
      141
     59265
    3589793
    

     (摘自pintia.cn)

    解答:

     1 #include<iostream>
     2 #include<string>
     3 #include<iomanip>
     4 #define PI "314159265358979323846264338327950288419716939937510582097494459230781640628620899862803482534211706798214808651328230664709384460955058223172535940812848111745028410270193852110555964462294895493038196"
     5 using namespace std;
     6 int main()
     7 {    
     8     string str(PI);            //初始化字符串
     9     int height,weight,mark(0);        //height为高度,weight为底层的宽度,mark用于记录截取字符串的位置
    10     cin>>height;                    //输入高度
    11     weight=height*2-1;                //计算底层宽度
    12     string *p=new string[height];    //动态分配字符串组
    13     for(int i(0);i<height;i++)        //将字符串分层,每层有2*i+1个字符
    14     {
    15         *(p+i)=str.substr(mark,i*2+1);        //sting.substr(unsigned int pos, unsigned int n) 从字符串sting的下标为pos的字符开始,截取n个字符
    16         mark+=(i*2+1);
    17     }
    18     for(int i(0);i<height;i++)                //分层输出
    19     {
    20         cout<<setw(weight/2+i+1)<<setfill(' ')<<*(p+i)<<endl;        //每层占位wight/2+i+1个字符位,输出每层的字符串,其他的由空格填充
    21     }
    22     return 0;
    23 }

    解析:

      见代码注释。

      string.substr(unsigned int pos, unsigned int n)的使用方法。

  • 相关阅读:
    H3C BGP配置7大规模BGP网络典型配置举例1BGP团体配置
    H3C BGP配置5MBGP配置
    ISIS原理介绍1
    BGP原理介绍3
    H3C OSPF配置9快速重路由配置举例
    H3C无线配置4无线控制器静态VLANgroup实现AC间漫游典型配置举例
    BGP原理介绍1
    H3C OSPF配置10常见配置错误举例
    H3C OSPF配置3DR选择配置举例
    H3C无线配置1license管理
  • 原文地址:https://www.cnblogs.com/wzzdeblog/p/10615716.html
Copyright © 2011-2022 走看看