setprecision(n)

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,415评论 0 2
  • 别为观众而起舞,真正的舞者总是旁若无人。
    徐利奥小朋友的心情阅读 139评论 0 1
  • 老张坐在拥挤的办公桌后面,喝了口水清了清嗓子:“这个,事情我都听曾老师说了。”他看着面前站着的三个孩子,都是得意门...
    忧蜀黎阅读 451评论 0 4
  • 在多数情况下,衬衫的口袋并不算是一个绝对的是非问题,而是选择和偏好问题。在不影响整体着装感觉的前提下,加不加口袋,...
    Enjoy雅趣阅读 33,211评论 9 35
  • 出事了! 对于做生态保护的人来说,能帮助抓住盗猎者,那一定是非常开心的。但对云南XX保护机构来说显然并不是那么简单...
    田犎阅读 2,151评论 4 2