C C++輸出格式 <轉載>僅用於我的 C++輸出格式控制

轉載連接:C++ Chtml

C語言輸出格式總結ios

1 通常格式
   printf(格式控制,輸出表列)
   例如:printf("i=%d,ch=%c\n",i,ch);
   說明:
   (1)「格式控制」是用雙撇號括起來的字符串,也稱「轉換控制字符串」,它包括兩種信息:
         ①格式說明:由「%」和格式字符組成,它的做用是將輸出的數據轉換爲指定的格式輸出。
         ②普通字符,即須要原樣輸出的字符。
   (2)「輸出表列」是須要輸出的一些數據,能夠是表達式
   (3) printf函數的通常形式能夠表示爲
         printf(參數1,參數2,……,參數n)
         功能是將參數2~參數n按參數1給定的格式輸出
2 格式字符(9種)
    (1)d(或i)格式符。用來輸出十進制整數,有如下幾種用法:
        ①%d,按整型數據的實際長度輸出。
        ②%md,m爲指定的輸出字段的寬度。若是數據的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。
        ③%ld(%mld 也可),輸出長整型數據。
         例如:long a=123456;
               printf("%ld",a);
 (2)o格式符,以八進制數形式輸出整數。格式:%o,%mo,%lo,%mlo均可。
     (3)x(或X)格式符,以十六進制數形式輸出整數。格式:%x,%mx,%lx,%mlx均可。
     (4)u格式符,用來輸出unsigned型數據,即無符號數,以十進制數形式輸出。格式:%u,%mu,%lu均可。
       參見:li4-3.c
     (5)c格式符,用來輸出一個字符。格式:%c,%mc均可。
     (6)s格式符,用來輸出一個字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns均可。
     (7)f格式符,用來輸出實數(包括單、雙精度),以小數形式輸出。格式:%f,%m.nf,%-m.nf均可。
       注意:單精度實數的有效位數通常爲7位,雙精度爲16位。
     (8)e(或E)格式符,以指數形式輸出實數。格式:%e,%m.ne,%-m.ne均可。
     (9)g(或G)格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時佔寬度較小的一種)。
3 說明
(1)除了X、E、G(用大寫字母表示)外,其餘格式字符必須用小寫字母;
(2)「格式控制」字符串內能夠包含轉義字符;
(3)若是想輸出字符「%」,則應該在「格式控制」字符串中用連續兩個%表示,如:
     printf("%f%%",1.0/3);
(4)格式字符表參見下表
                                             表1 printf格式字符
格式字符 說     明
d,i 以帶符號的十進制形式輸出整數(正數不輸出符號)
o 以八進制無符號形式輸出整數(不輸出前導符0)
x,X 以十六進制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進制數的a~f時以小寫形式輸出,用X時,則以大寫字母輸出
u 以無符號十進制形式輸出整數
c 以字符形式輸出,只輸出一個字符
s 輸出字符串
f 以小數形式輸出單、雙精度數,隱含輸出6位小數
e,E 以指數形式輸出實數
g,G 選用%f或%e格式中輸出寬度較短的一種格式,不輸出無心義的0
表2   printf的附加格式說明字符
 
  
C語言輸出格式總結
C語言輸出格式總結
2008年11月01日 星期六 04:23 P.M.
1 通常格式
   printf(格式控制,輸出表列)
   例如:printf("i=%d,ch=%c\n",i,ch);
   說明:
   (1)「格式控制」是用雙撇號括起來的字符串,也稱「轉換控制字符串」,它包括兩種信息:
         ①格式說明:由「%」和格式字符組成,它的做用是將輸出的數據轉換爲指定的格式輸出。
         ②普通字符,即須要原樣輸出的字符。
   (2)「輸出表列」是須要輸出的一些數據,能夠是表達式
   (3) printf函數的通常形式能夠表示爲
         printf(參數1,參數2,……,參數n)
         功能是將參數2~參數n按參數1給定的格式輸出
2 格式字符(9種)
    (1)d(或i)格式符。用來輸出十進制整數,有如下幾種用法:
        ①%d,按整型數據的實際長度輸出。
        ②%md,m爲指定的輸出字段的寬度。若是數據的位數小於m,則左端補以空格,若大於m,則按實際位數輸出。
        ③%ld(%mld 也可),輸出長整型數據。
         例如:long a=123456;
               printf("%ld",a);
 (2)o格式符,以八進制數形式輸出整數。格式:%o,%mo,%lo,%mlo均可。
     (3)x(或X)格式符,以十六進制數形式輸出整數。格式:%x,%mx,%lx,%mlx均可。
     (4)u格式符,用來輸出unsigned型數據,即無符號數,以十進制數形式輸出。格式:%u,%mu,%lu均可。
       參見:li4-3.c
     (5)c格式符,用來輸出一個字符。格式:%c,%mc均可。
     (6)s格式符,用來輸出一個字符串。格式:%s,%ms,%-ms,%m.ns,%-m.ns均可。
     (7)f格式符,用來輸出實數(包括單、雙精度),以小數形式輸出。格式:%f,%m.nf,%-m.nf均可。
       注意:單精度實數的有效位數通常爲7位,雙精度爲16位。
     (8)e(或E)格式符,以指數形式輸出實數。格式:%e,%m.ne,%-m.ne均可。
     (9)g(或G)格式符,用來輸出實數,它根據數值的大小,自動選f格式或e格式(選擇輸出時佔寬度較小的一種)。
3 說明
(1)除了X、E、G(用大寫字母表示)外,其餘格式字符必須用小寫字母;
(2)「格式控制」字符串內能夠包含轉義字符;
(3)若是想輸出字符「%」,則應該在「格式控制」字符串中用連續兩個%表示,如:
     printf("%f%%",1.0/3);
(4)格式字符表參見下表
                                             表1 printf格式字符
格式字符
說     明
d,i
以帶符號的十進制形式輸出整數(正數不輸出符號)
o
以八進制無符號形式輸出整數(不輸出前導符0)
x,X
以十六進制無符號形式輸出整數(不輸出前導符0x),用x則輸出十六進制數的a~f時以小寫形式輸出,用X時,則以大寫字母輸出
u
以無符號十進制形式輸出整數
c
以字符形式輸出,只輸出一個字符
s
輸出字符串
f
以小數形式輸出單、雙精度數,隱含輸出6位小數
e,E
以指數形式輸出實數
g,G
選用%f或%e格式中輸出寬度較短的一種格式,不輸出無心義的0
表2   printf的附加格式說明字符
  
C語言輸出格式總結

  

C++c++

setprecision(n)可控制輸出流顯示浮點數的數字個數。C++默認的流輸出數值有效位是6,因此無論數據是多少,都只輸出六位。若是setprecision(n)與setiosflags(ios::fixed)或者setiosflags(ios_base::fixed)合用,能夠控制小數點右邊的數字個數。setiosflags(ios::fixed)是用定點方式表示實數。 若是與setiosnags(ios::scientific)合用,能夠控制指數表示法的小數位數。setiosflags(ios::scientific)是用指數方式表示實數。ide

I/O流經常使用控制符:函數

使用控制符時,在程序開頭加投文件#include <iomanip> C++有兩種方法控制格式輸出:一、用格式控制符;二、用流對象的成員函數 格式控制符:post

dec                                 設置基數爲10url

hex                                 設置基數爲16spa

oct                                 設置基數爲83d

setfill(c)                          設置填充字符ccode

setprecision(n)                     設置顯示小數精度爲n位

setw(n)                             設置域寬爲n個字符

setiosflags(ios::fixed)             固定的浮點顯示

 setiosflags(ios::scientific)        指數表示

setiosflags(ios::left)              左對齊

setiosflags(ios::right)             右對齊

setiosflags(ios::skipws)            忽略前導空白

setiosflags(ios::uppercase)         16進制數大寫輸出

setiosflags(ios::lowercase)         16進制小寫輸出

成員函數:

flags(10)                           設置基數爲10

flags(16)                           設置基數爲16

flags(8)                            設置基數爲8

flags(c)                            設置填充字符c

precision(n)                        設置顯示小數精度爲n位

width(n)                            設置域寬爲n個字符

 在新版本的c++中頭文件已經用iomanip取代了iomanip.h。

 

  如下是一些經常使用的函數:

 

  dec 置基數爲10 至關於"%d"

 

  hex 置基數爲16 至關於"%X"

 

  oct 置基數爲8 至關於"%o"

 

  setfill(c) 設填充字符爲c

 

  setprecision(n) 設顯示小數精度爲n位

 

  setw(n) 設域寬爲n個字符

 

  setiosflags(ios::fixed) 固定的浮點顯示

 

  setiosflags(ios::scientific) 指數表示

 

  setiosflags(ios::left) 左對齊

 

  setiosflags(ios::right) 右對齊

 

  setiosflags(ios::skipws 忽略前導空白

 

  setiosflags(ios::uppercase) 16進制數大寫輸出

 

  setiosflags(ios::lowercase) 16進制小寫輸出

 

  setiosflags(ios::showpoint) 強制顯示小數點

 

  setiosflags(ios::showpos) 強制顯示符號

 1 #include <iostream>
 2 #include <iomanip>
 3 using namespace std;
 4 int main ()
 5 {
 6     double a=123456.343001;
 7     cout<<"a的值爲123456.343001"<<endl<<endl; 
 8     cout<<"不作任何操做,默認狀況下只顯示6六位數據:"<<a<<endl<<endl;
 9     cout<<"指定10位小數且爲浮點數表示setiosflags(ios::fixed):"<<setiosflags(ios::fixed)<<setprecision(10)<<a<<endl<<endl;
10     cout<<"指定爲10位小數且爲指數形式表示setiosflags(ios::scientific),就是留下有效位:如何指定的有效位超過原本的有效位,其輸出就是自己的位數:"<<setiosflags(ios::scientific)<<setprecision(12)<<a<<endl<<endl;
11     cout<<"指定爲10位小數且爲指數形式表示setiosflags(ios::scientific),就是留下有效位:setprecision(10)指定留下10位有效位"<<setiosflags(ios::scientific)<<setprecision(10)<<a<<endl<<endl;
12     cout<<"左對齊:"<<setiosflags(ios::left)<<setprecision(20)<<a<<endl<<endl;
13     cout<<"右對齊:"<<setiosflags(ios::right)<<setprecision(20)<<a<<endl<<endl;
14     system("pause");
15     return 0;
16 }
View Code

 

能夠不使用#include<iomanip>的

cout.precision()設置小數點後精確度,

cout.width()設置寬度,

cout.setf()設置顯示格式,好比

cout.setf(ios::left)左對齊

cout.setf(ios::showpoint)不論是否有小數位,顯示小數點

cout.fill();不足寬度則填充,如cout.fill('0');

如此次周賽1002,若是使用COUT在輸出前要這樣設置一下。

cout.precision(6);

cout.width(8);

cout.setf(ios::left);

cout.setf(ios::showpoint);

cout.fill('0');

僅僅cout.precision(6)和cout.setf(ios::showpoint)時,不知何緣由若是爲0只顯示到小

數點後5位,因此爲了在最後加個0,要加上其它3項補充(部分是iomanip裏的):

long flags( ) const 返回當前的格式標誌。

long flays(long newflag) 設置格式標誌爲newflag,返回舊的格式標誌。

long setf(long bits) 設置指定的格式標誌位,返回舊的格式標誌。

long setf(long bits,long field)將field指定的格式標誌位置爲bits,返回舊的格式標誌

long unsetf(long bits) 清除bits指定的格式標誌位,返回舊的格式標誌。

long fill(char c) 設置填充字符,缺省條件下是空格。

char fill( ) 返回當前填充字符。

int precision(int val) 設置精確度爲val,控制輸出浮點數的有效位,返回舊值。

int precision( ) 返回舊的精確度值。

int width(int val) 設置顯示數據的寬度(域寬),返回舊的域寬。

int width( )只返回當前域寬,缺省寬度爲0。這時插入操做能按表示數據的最小寬度顯示

數據

dec 十進制的輸入輸出

hex 十六進制的輸入輸出

oct 八進制的輸入輸出

例如用cout<<hex<<i<<endl; 便可以讓變量i以16進制的格式輸出。

ws 提取空白字符

flush 刷新流

resetiosflags(long) 請除特定的格式標誌位

setiosflags(long) 設置特定的格式標誌位

setfill(char) 設置填充字符

setprecision(int) 設置輸出浮點數的精確度

setw(int) 設置域寬格式變量

一:標準輸入函數cin 不知道說它是個函數對仍是不對,它是表明標準的輸入設備--鍵盤。他是屬於流的,他的用法和流的用法是同樣的。也就是:cin>>變量;

小小的說明一下,輸入多個變量能夠寫在一行,如:cin>>x>>y>>z; 這樣寫不是不容許,而是很差看,若是是不一樣的變量類型,那就更是沒頭沒腦了。除了你,人家是不知道該輸入什麼的

,因此,通常在輸入語句的前面,咱們通常都 要作一個提示,請輸入×××,讓人家內心有個底,知道這個變量是作什麼的。 另外,這個函數是不用帶地址符號"&"的,也不用寫明變量類型,千萬不要跟scanf混淆。固然他就也不檢查變量輸入是否合法。如:

int i; cout<<"please input a number:" cin>>i; cout<<"i="<<i<<endl;

若是你輸入的是一個字符如'a'那麼他也不檢查,但你輸出的結果不是正確的,這要是手工進行檢查。固然他也跟scanf同樣,若是在循環內部輸入不合法的變量值,那麼也將陷入死循環。以下:

1 /*一個輸入不合法變量陷入死循環的例子*/ #include <iostream.h> main() { int i; while(i!=-1) { cout<<"i=" cin>>i; /*請輸入不是一個字符如'a'試試*/ cout<<endl; } }

如上一個程序,若是你輸入的不合法,那就將陷入死循環。解決的辦法有個一,把cin>>i;語句移到判斷循環的語句中,那麼,你輸入的若是是不合法的變量,他將跳出循環。 cin是用空格來分隔輸入的。請看看以下的例子:

/*一個空格分隔使輸入的變量達不到但願的值*/ #include <iostream.h> main() { char str[20]; cout<<"please input a string:"; cin>>str; /*你試着輸入"hello word"*/ cout<<endl<<"str="<<str; }

看獲得是什麼結果呢?獲得的僅僅是str=hello,爲何呢?由於cin是以空格爲分隔的,當你輸入一個空格時,那他就認爲後面的輸入不屬於這裏了, 認爲應該給後面的變量了。另外,當你輸入的字符串大於分配的空間時,還會出現溢出現象。固然,還有整行輸入的函數,包括空格也一塊兒輸入了,之後也會學到。

2、標準輸出函數cout 說cout是函數,也跟cin同樣,不知道對不對。他表明的是標準輸出設備--顯示器。其實前面已經用過不少次這個函數了。咱們就經過一個例子來進行格式化的輸出就是了,你們就體會體會這個例子就好了,比printf靈活了不少。 首先,咱們能夠按16進制,8進制和10進制來顯示咱們的數據,以下:

 1 /*一個按進制輸出的例子*/
 2 #include<iomanip.h>
 3 void main()
 4 {
 5 int x=30, y=300, z=1024;
 6 cout<<x<<' '<<y<<' '<<z<<endl; //按十進制輸出
 7 cout<<oct<<x<<' '<<y<<' '<<z<<endl; //按八進制輸出
 8 cout<<setiosflags(ios::showbase); //設置基指示符
 9 cout<<x<<' '<<y<<' '<<z<<endl; //仍按八進制輸出
10 cout<<resetiosflags(ios::showbase); //取消基指示符
11 cout<<hex<<x<<' '<<y<<' '<<z<<endl; //按十六進制輸出
12 cout<<setiosflags(ios::showbase | ios::uppercase);
13 //設置基指示符和數值中的字母大寫輸出,
14 cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六進制輸出
15 cout<<resetiosflags(ios::showbase | ios::uppercase);
16 //取消基指示符和數值中的字母大寫輸出
17 cout<<x<<' '<<y<<' '<<z<<endl; //仍按十六進制輸出
18 cout<<dec<<x<<' '<<y<<' '<<z<<endl; //按十進制輸出
19 }
View Code

 

咱們用以上的程序也能夠輸出一樣的結果,可見他的靈活。咱們如今輸出下列一段文字:

第一章

1.1 什麼是C語言...........................1

1.11 C語言的歷史..........................58

第二章

方法不少種啦,咱們能夠這樣寫:

 1 /*一個使用填充,寬度,對齊方式的例子*/
 2 #include <iostream.h>
 3 void main()
 4 {
 5 cout<<"第一章"<<endl;
 6 cout<<" ";
 7 cout.setf(ios::left); //設置對齊方式爲left
 8 cout.width(7); //設置寬度爲7,不足用空格填充
 9 cout<<"1.1";
10 cout<<"什麼是C語言";
11 cout.unsetf(ios::left); //取消對齊方式,用缺省right方式
12 cout.fill('.'); //設置填充方式
13 cout.width(30); //設置寬度,只對下條輸出有用
14 cout<<1<<endl;
15 cout<<" ";
16 cout.width(7); //設置寬度
17 cout.setf(ios::left); //設置對齊方式爲left
18 cout.fill(' '); //設置填充,缺省爲空格
19 cout<<"1.11";
20 cout<<"C語言的歷史";
21 cout.unsetf(ios::left); //取消對齊方式
22 cout.fill('.');
23 cout.width(30);
24 cout<<58<<endl;
25 cout.fill(' ');
26 cout<<"第二章"<<endl;
27 }
View Code

 

咱們屢次設置了寬度,爲的是使咱們的間距能一致,也使用了對齊方式,爲的是使咱們的數據能對齊顯示,看起來美觀

。咱們還使用了填充方式。咱們下面用操縱算子來實現也是能夠的。

 1 /*一個使用填充,寬度,對齊方式的例子*/
 2 #include <iomanip.h>
 3 void main()
 4 {
 5 cout<<"第一章"<<endl;
 6 cout<<" ";
 7 cout<<setiosflags(ios::left)<<setw(7); //設置寬度爲7,left對齊方式
 8 cout<<"1.1";
 9 cout<<"什麼是C語言";
10 cout<<resetiosflags(ios::left); //取消對齊方式
11 cout<<setfill('.')<<setw(30)<<1<<endl; //寬度爲30,填充爲'.'輸出
12 cout<<setfill(' '); //恢復填充爲空格
13 cout<<" ";
14 cout<<setw(7)<<setiosflags(ios::left); //設置寬度爲7,left對齊方式
15 cout<<"1.11";
16 cout<<"C語言的歷史";
17 cout<<resetiosflags(ios::left); //取消對齊方式
18 cout<<setfill('.')<<setw(30)<<58<<endl; //寬度爲30,填充爲'.'輸出
19 cout<<setfill(' ')<<"第二章"<<endl;
20 }
View Code

 

 咱們輸出了一樣的效果,不過依個人性格,我更喜歡用操縱算子來進行格式化輸出。最後咱們看看浮點數的格式輸出,

以下例:

 1 /*關於浮點數的格式*/
 2 #include <iostream.h>
 3 void main()
 4 {
 5 float f=2.0/3.0,f1=0.000000001,f2=-9.9;
 6 cout<<f<<' '<<f1<<' '<<f2<<endl; //正常輸出
 7 cout.setf(ios::showpos); //強制在正數前加+號
 8 cout<<f<<' '<<f1<<' '<<f2<<endl;
 9 cout.unsetf(ios::showpos); //取消正數前加+號
10 cout.setf(ios::showpoint); //強制顯示小數點後的無效0
11 cout<<f<<' '<<f1<<' '<<f2<<endl;
12 cout.unsetf(ios::showpoint); //取消顯示小數點後的無效0
13 cout.setf(ios::scientific); //科學記數法
14 cout<<f<<' '<<f1<<' '<<f2<<endl;
15 cout.unsetf(ios::scientific); //取消科學記數法
16 cout.setf(ios::fixed); //按點輸出顯示
17 cout<<f<<' '<<f1<<' '<<f2<<endl;
18 cout.unsetf(ios::fixed); //取消按點輸出顯示
19 cout.precision(18); //精度爲18,正常爲6
20 cout<<f<<' '<<f1<<' '<<f2<<endl;
21 cout.precision(6); //精度恢復爲6
22 }
View Code

 

一樣,咱們也同樣能用操縱算子實現一樣的功能:

 1 /*關於浮點數的格式*/
 2 #include <iomanip.h>
 3 void main()
 4 {
 5 float f=2.0/3.0,f1=0.000000001,f2=-9.9;
 6 cout<<f<<' '<<f1<<' '<<f2<<endl; //正常輸出
 7 cout<<setiosflags(ios::showpos); //強制在正數前加+號
 8 cout<<f<<' '<<f1<<' '<<f2<<endl;
 9 cout<<resetiosflags(ios::showpos); //取消正數前加+號
10 cout<<setiosflags(ios::showpoint); //強制顯示小數點後的無效0
11 cout<<f<<' '<<f1<<' '<<f2<<endl;
12 cout<<resetiosflags(ios::showpoint); //取消顯示小數點後的無效0
13 cout<<setiosflags(ios::scientific); //科學記數法
14 cout<<f<<' '<<f1<<' '<<f2<<endl;
15 cout<<resetiosflags(ios::scientific); //取消科學記數法
16 cout<<setiosflags(ios::fixed); //按點輸出顯示
17 cout<<f<<' '<<f1<<' '<<f2<<endl;
18 cout<<resetiosflags(ios::fixed); //取消按點輸出顯示
19 cout<<setprecision(18); //精度爲18,正常爲6
20 cout<<f<<' '<<f1<<' '<<f2<<endl;
21 cout<<setprecision(6); //精度恢復爲6
22 }
View Code

 

在c/c++系統中除了標準的輸入輸出外,還提供了更多的輸入函數。

這寫函數主要有getch(),getche(), getchar (),cin.get(),putch(),putchar(),cout.put(),gets(),cin.getline(),puts()。

另外 還有些爲了讓緩衝區不影響程序的正確操做的緩衝去的操做,如:cin.putback(),fflush(stdin),cout.flush().咱們 作一下簡單的說明。

一、getch()和getche(),非緩衝式輸入,從鍵盤讀入一個字符。getch()讀入字符不顯示。有conio.h支持。

 二、cin.get(),getchar(),緩衝式輸入,從鍵盤讀入一個字符,並顯示。getchar()由stdio.h支持,cin.get()由iostream.h支持。

三、putch()和putchar(),非緩衝式輸出,輸出一個字符到顯示器。putch()由conio.h支持,putchar()由stdio.h支持。

 四、cout.put(),緩衝式輸出,輸出一個字符到顯示器。由iostream.h支持。

 五、gets()和cin.geline(),緩衝式輸入,讀入一字符串(包括空格,不包括最後的回車),gets()由stdio.h支持,cin.getline()由iostream.h支持。

 六、puts(),非緩衝輸出,輸出一個字符串,由stdio.h支持。

七、cin.putback(),把一個字符送回輸入緩衝區。

八、fflush(stdin),清除輸入緩衝區操做。沒法清除cin.get()等帶來的操做。

九、cout.flush(),清楚輸出緩衝區。 在這裏咱們稍微說一下輸入/輸出緩衝區,這是爲了減小程序訪問io帶來中斷而設的一段空間。當程序知足某個刷新條件時,那就將清理緩衝區。具體條件爲:

一、輸入緩衝區 a,程序要求輸入時,按下了回車鍵。 b,遇到程序結束。 c,遇到下一條輸入語句。 d,遇到清除緩衝區操做 e,緩衝區溢出 二、輸出緩衝區 a,輸出緩衝區溢出 b,遇到下一條輸入語句 c,使用刷新緩衝區迫使清除

例2 用控制符控制輸出格式

 

 1 #include <iostream>
 2 #include <iomanip> //不要忘記包含此頭文件
 3 using namespace std;
 4 int main()
 5 { int a;
 6    cout<<"input a:";
 7    cin>>a;
 8    cout<<"dec:"<<dec<<a<<endl; //以上進制形式輸出整數
 9    cout<<"hex:"<<hex<<a<<endl; //以十六進制形式輸出整數a
10    cout<<"oct:"<<setbase(8)<<a<<endl;//以八進制形式輸出整數a
11    char *pt="China";         //pt指向字符串」China」
12    cout<<setw(10)<<pt<<endl; //指定域寬爲10,輸出字符串
13    cout<<setfill('*')<<setw(10)<<pt<<endl;//指定域寬10,輸出字符串,空白處以「*」填充
14    double pi=22.0/7.0; //計算pi值
15    cout<<setiosflags(ios::scientific)<<setprecision(8);//按指數形式輸出,8位小數
16    cout<<"pi="<<pi<<endl; //輸出pi值
17    cout<<"pi="<<setprecision(4)<<pi<<endl;//改成4位小數
18    cout<<"pi="<<setiosflags(ios::fixed)<<pi<<endl;//改成小數形式輸出
19    return 0; }
View Code

 

運行結果以下:   

inputa:34 (輸入a的值)   

 dec:34 (十進制形式)   

hex:22 (十六進制形)   

oct:42 (八進制形式)   

China (域寬爲10)   

***** China (域寬爲10,空白處以'*'填充)   

pi=3.14285714e+00 (指數形式輸出,8位小數)   

 pi=3.1429e+00) (指數形式輸小,4位小數)   

 pi=3.143 (小數形式輸出,梢度仍爲4)

相關文章
相關標籤/搜索