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(十六進制)

 

 

 

 

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