![C++程序设计与案例分析](https://wfqqreader-1252317822.image.myqcloud.com/cover/731/687731/b_687731.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.2.5 输入/输出格式操作符
利用输入/输出格式操作符进行输入/输出前,要在程序的开头处添加 iomanip.h 头文件。表3.1给出了I/O流的常用格式操作符。
表3.1 I/O流的常用格式操作符
![](https://epubservercos.yuewen.com/FB2B43/3590497403462801/epubprivate/OEBPS/Images/figure_0062_0002.jpg?sign=1738840618-AGJnlKxYY78YhNaQL5LXMnNIDF2YJ7f5-0-7ba1753c87fad9610382c413fb910a49)
注意:当数据输出的实际宽度大于设定的宽度时,数据按实际宽度输出;若实际宽度小于设定的宽度,则在数据前面显示空白。即以默认的空格字符来填充。
【例3.4】 I/O流常用格式操作符1。
#include <iostream> #include <iomanip> using namespace std; int main ( ) {float h,r,l,s,sq,vq,vz; const float pi=3.1415926; cout<<"please enter r,h:"; cin>>r>>h; l=2*pi*r; s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; cout<<setiosflags(ios::fixed)<<setiosflags(ios::right) <<setprecision(2); cout<<"l= "<<setw(10)<<l<<endl; cout<<"s= "<<setw(10)<<s<<endl; cout<<"sq="<<setw(10)<<sq<<endl; cout<<"vq="<<setw(10)<<vq<<endl; cout<<"vz="<<setw(10)<<vz<<endl; return 0; }
运行程序,输出的结果如下:
![](https://epubservercos.yuewen.com/FB2B43/3590497403462801/epubprivate/OEBPS/Images/figure_0063_0001.jpg?sign=1738840618-wG4yMG7zkNQs5BBq88DGhHRawAp9wQ82-0-8c5832446111db60ddfdec1f3fe70fb7)
【例3.5】I/O流常用格式操作符2。
#include <iostream> #include <iomanip> using namespace std; int main ( ) {double c=3.1415926; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(0)<<c<<ends; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(1)<<c<<endl; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(2)<<c<<ends; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(3)<<c<<endl; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(4)<<c<<ends; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(5)<<c<<endl; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(6)<<c<<ends; cout<<setfill('*')<<setiosflags(ios::left)<<setw(20)<<setprecision(7)<<c<<endl; }
程序运行结果如下。
![](https://epubservercos.yuewen.com/FB2B43/3590497403462801/epubprivate/OEBPS/Images/figure_0064_0001.jpg?sign=1738840618-TU9AQTR7ZdlmeDEgNUGbOSlIGYOuZbBt-0-7cf32545ca31ea6e0277396e77cd656f)