【任务3】格式输出:对于下面两段程序,对照运行的结果和教材中关于格式控制的说明,在每一个cout
后面用注释写清输出结果和产生这种结果的原因。在报告中提交加了注释的程序(建议在IDE 中加好注
释再发博文提交)
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a;
cout<<"input a:"; //输出结果:input a: 输出流输出按引号内部的原样输出。
cin>>a; //假设输入a得值为52
cout<<"dec:"<<dec<<a<<endl; //输出结果:dec:52 引号内原样输出。a的值按十进制输出,为上面输入的值
cout<<"hex:"<<hex<<a<<endl; //输出结果:hex:32 以16进制输出
cout<<"oct:"<<setbase(8)<<a<<endl; //输出结果:oct:62 以8进制输出
char *pt="Jerryson";
cout<<setw(10)<<pt<<endl; // 输出结果: Jerryson 字符宽度共十位
cout<<setfill('*')<<setw(10)<<pt<<endl; // 输出结果:**Jerryson 设置填充字符字符宽度为十位
double pi=22.0/7.0;
cout<<setiosflags(ios::scientific)<<setprecision(8); // 设置以科学技术法现实
cout<<"pi="<<pi<<endl; //输出结果:pi=3.14285714e+000
cout<<"pi="<<setprecision(4)<<pi<<endl; // 输出结果:pi=3.1429e+000 以四位小数输出
cout<<"pi="<<setiosflags(ios::fixed)<<pi<<endl; //输出结果:pi=0x1.9249p+1 设置以固定小数输出
system("pause");
return 0;
}
![](https://img-my.csdn.net/uploads/201205/29/1338289906_4442.jpg)
#include <iostream>
using namespace std;
int main( )
{
int a=54;
cout.setf(ios::showbase);//用来控制输出格式
cout<<"dec:"<<a<<endl; //引号内原样输出,a的赋值为故输出结果为:dec:54
cout.unsetf(ios::dec); //将控制输出格式还原,并改为十进制
cout.setf(ios::hex); //将输出格式改为进制
cout<<"hex:"<<a<<endl; //输出结果:hex:x36
cout.unsetf(ios::hex); //将进制的数返回进制
cout.setf(ios::oct); //将十进制的数改为进制
cout<<"oct:"<<a<<endl; //输出结果:oct:066
cout.unsetf(ios::oct); //将进制返还进制
char *pt="Jerryson";
cout.width(10); //设置字符长度为
cout<<pt<<endl; //输出结果: Jerryson
cout.width(10); //设置字符长度为
cout.fill('*'); //长度不足用*补充
cout<<pt<<endl; //输出结果:**Jerryson
double pi=22.0/7.0;
cout.setf(ios::scientific); //以科学计数法显示
cout<<"pi="; //输出引号内的结果:pi=
cout.width(14); //设置宽度为
cout<<pi<<endl; //输出结果:pi=*3.142857e+000
cout.unsetf(ios::scientific); //将科学计数法输出改为正常
cout.setf(ios::fixed); //以固定的小数位数输出
cout.width(12); //宽度
cout.setf(ios::showpos);//输出正数时给出+
cout.setf(ios::internal); // 标示一个数的符号位左对齐,数值右对齐
cout.precision(6); //输出小数点后位,第位四舍五入
cout<<pi<<endl; //输出结果:+***3.142857
system("pause");
return 0;
}