📄 ep9_3.cpp
字号:
/*9.3 编程实现以下数据输入输出:
a) 以左对齐方式输出整数,域宽为12;
b) 以八进制、十进制、十六进制输入输出整数;
c) 实现浮点数的指数格式和定点格式的输入输出,并指定精度;
d) 把字符串读入字符型数组变量中,从键盘输入,要求输入串的空格也全部读入,以回车换行符结束;
e) 以上要求用流成员函数和流操作子各做一遍。
*/
#include<iostream>
#include<iomanip>
using namespace std;
int main(void){
int inum1=255,inum2=8191,inum3=65535;
double fnum=31.415926535,fnum1;
char str[255];
cout<<"以左对齐方式输出整数,域宽为12:"<<endl;
cout.flags(ios::left);
cout.width(12);cout<<inum1;
cout.width(12);cout<<inum2;
cout.width(12);cout<<inum3<<endl;
cout.flags(ios::left|ios::oct|ios::showbase);//或(cout.flags()|ios::oct|ios::showbase)
cout.width(12);cout<<inum1;
cout.width(12);cout<<inum2;
cout.width(12);cout<<inum3<<endl;
cout.setf(ios::hex,ios::hex|ios::oct);//或cout.setf(ios::hex);cout.unsetf(ios::oct);
//特别注意第二个参数要包含第一个参数,否则两个参数位置上的位全清零,结果错
cout.width(12);cout<<inum1;
cout.width(12);cout<<inum2;
cout.width(12);cout<<inum3<<endl;
cout.precision(10); //精度为10位,小数点后10位
cout.setf(ios::scientific,ios::floatfield);//floatfield为0x1800
cout<<"科学数表达方式:"<<fnum<<'\n';
cout.setf(ios::fixed,ios::floatfield); //设为定点,取消科学数方式
cout<<"定点表达方式:"<<fnum<<'\n';
cout<<"请输入PI:"<<endl;
cin.precision(4);
cin>>fnum1;//输入3.1415926535
cout<<fnum1<<'\n';//由输出看输入精度无作用
cin.get();//吸收回车
cout<<"请输入一个字符串:"<<endl;
cin.getline(str,255);
cout<<str<<endl;
cout.flags(0);
cout<<"以左对齐方式输出整数,域宽为12:"<<endl;
cout<<left<<dec<<setw(12)<<inum1;
cout<<setw(12)<<inum2;
cout<<setw(12)<<inum3<<endl;
cout<<showbase<<oct<<setw(12)<<inum1;
cout<<setw(12)<<inum2;
cout<<setw(12)<<inum3<<endl;
cout<<hex<<setw(12)<<inum1;
cout<<setw(12)<<inum2;
cout<<setw(12)<<inum3<<endl;
cout<<setprecision(10)<<scientific<<"科学数表达方式:"<<fnum<<'\n';
cout<<fixed<<"定点表达方式:"<<fnum<<'\n';//精度6位,而不是小数点后
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -