美文网首页
setprecision(n)

setprecision(n)

作者: 我喜欢蓝色儿 | 来源:发表于2018-10-04 11:38 被阅读0次

    C++课在十一期间留了一个提前预习实验1的作业吧算是,做完之后想来总结一下。

    1、计算显示立方值

    2、偶数=一对儿素数组合

    其实两个题目都很简单,但实验题目要求了输出格式,见第一题的运行结果。因为c和c++的控制输出的格式方法不太一样,c的右对齐使用“%6d”,左对齐使用“%-6d”。而c++中需要使用流控制符。

    #include <iostream>
    #include <iomanip>
    using namespace std;
    
    inline float calc(float x)
    {
        return x*x*x;
    }
    int main()
    {
        int n;
        int a,b;
        cin>>n;
        cout<<"下面程序输出";
        for(int i=1;i<=n;i++)
        {
            if(i-1)
                cout<<",";
            if(i%2==1)
                a=1;
            else
                a=0;
            float j=(float)i/2;
            cout<<fixed<<setprecision(a)<<j;
        }
        cout<<"的立方值"<<endl;
        for(int i=1;i<=n;i++)
        {
            if(i%2==1)
            {
                a=1;
                b=3;
            }
            else
                a=b=0;
            float j=(float)i/2;
            cout<<setprecision(a)<<fixed<<setw(5)<<j<<"的立方值=";
            cout<<setw(10)<<setprecision(b)<<fixed<<setiosflags(ios::left)<<calc(j);
            cout<<resetiosflags(ios::left);
            if(i%3==1||i%3==2)
                cout<<"||";
            else
                cout<<endl;
        }
        return 0;
    }
    
    

    接下来分别介绍一下代码里用到的(以后用到其他的可能也回来补充):
    setw(n),设置域宽,如果n>数据宽,数据靠右对齐,不足位补空格,只对下一个被输出的数据起作用;
    setprecision(n),设置小数位数,注意n的值是整数和小数的位数之和;
    fixed,与setprecision(n)一起使用,n表示的是小数位数
    setiosflags(ios::left),setiosflags(ios::right),分别是左右对齐,对以后的数据都起作用;
    resetiosflags(ios::left),resetiosflags(ios::right),所以要用到这个,即取消右对齐。

    下面是给自己参考的:
    https://blog.csdn.net/mingzhentanwo/article/details/41082449
    https://blog.csdn.net/qq_28234213/article/details/72802661

    相关文章

      网友评论

          本文标题:setprecision(n)

          本文链接:https://www.haomeiwen.com/subject/ejkxaftx.html