c++ 格式化输入输出(部分含c)

注:未交代的均为c++语言

1.格式化输出

例:输出时间格式的时候需要以(hh:mm:ss)作为结果,但是利用cout<<hh<<":"<<mm<<":"<<ss<<endl;输出时,可能遇见hh/mm/ss小于10的情况,即输出格式变成了(h:m:s),利用如下处理办法:

int a=1;

cout.setf(ios::right);//设置输出格式,向右对齐

cout.fill('0');//用字符0作为填充

cout.width(2);//输出宽度为2个字符

cout<<a<<endl;

2.四舍五入

double b;

cin>>b;

int a=int(b+0.5);

cout<<a;

3.输出若干位有效数字

在cout输出流中直接接上setprecision(x),其中的x表示要保留的有效数字位数。但是注意,需要头文件#include<iomanip>

例如:

double PI=3.1415926;

cout<<setprecision(5)<<PI<<endl;

则将会输出3.1416.

4.输出若干位小数位

只需在上述的有效数位操作函数前面再添加一个setiosflags(ios::fixed)即可,但是注意,需要头文件#include<iomanip>

 

double PI=3.1415926;

cout<<setiosflags(ios::fixed)<<setprecision(5)<<PI<<endl;

   4.1 在c中输出指定位数的小数位:

在c的float类型中,会默认输出6位有效数字,当输出时指定为%.2f,则将修改为默认输出两位有效数字 ;double类型的类似,使用%.2lf指定输出位数

5.循环输出一个数组,每一个数据之间用一个空格符间隔,但是要保证输出的首尾没有多余的空格

    利用三元操作符A?B:C,选取循环的长度作为A,每次减一,B为空格符,当循环到最后一次时,输出C结束,其中C为‘\0’

例如:cout<<(--count?:" ":'\0');

6.在c语言中,输出八进制或十六进制时,默认不会有开头位0,这时可以通过如下方式实现:%#o(八进制),%#x(十六进制)

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章