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