国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++域寬設置—讓輸出更規范

2020-05-23 14:28:05
字體:
來源:轉載
供稿:網友
看了程序5.3.1的運行結果,你可能會覺得輸出的數字不太整齊。第一行的一位數都擠在了一起,而第二行開始的兩位數都是整整齊齊的。那么,我們有什么辦法讓他們排排整齊么?大家自然就先想到空格了。不過如果為了個這么簡單的功能,還要去編寫一段判斷一下這個數是幾位的,要加幾個空格之類代碼就有點麻煩了。其實C++早已經為我們準備好了更方便的方法。這種方法就是設置域寬。

所謂域寬,就是輸出的內容(數值或字符等等)需要占據多少個字符的位置,如果位置有空余則會自動補足。比如我們要設置域寬為2,那么當輸出一位數1的時候輸出的就是“ 1”,即在1前面加了一個空格。空格和數字1正好一共占用了兩個字符的位置。

那有些時候我們不想在1前面補上空格,而是希望1前面補上0可不可以?當然也是可以的。我們可以設置填充字符,如果我們把0設置為填充字符,那么1前面就變成0了。

設置域寬的具體語法格式為:
    cout <<setw(int n) <<被設置的輸出內容1 [<<setw(int m) <<被設置的輸出內容2 …];
設置填充字符的具體語法格式為:
    cout <<setfill(char n) <<被設置的輸出內容 [<<setfill(char m) <<被設置的輸出內容12 …];


我們在設置域寬和填充字符的時候要注意幾點:
  1. 設置域寬的時候應該填入整數,設置填充字符的時候應該填入字符。
  2. 我們可以對一個要輸出的內容同時設置域寬和填充字符,但是設置好的屬性僅對下一個輸出的內容有效,對以后輸出要再次設置。即cout <<setw(2) <<a <<b;語句中域寬設置僅對a有效,對b無效。
  3. setw和setfill被稱為輸出控制符,使用時需要在程序開頭寫上#include "iomanip.h",否則無法使用。

下面我們來看一段有關輸出圖形的循環嵌套程序:(程序5.3.2)
#include "iostream.h"
#include "iomanip.h"
int main()
{
   int a,b;
   cout <<"請輸入長方形的長和寬:" <<endl;
   cin >>a >>b;
   for (int i=1;i<=b;i++)//控制長方形的寬度
   {
      for (int j=1;j<=a;j++)//控制長方形的長度
      {
         cout <<setw(2) <<'*';
      }
      cout <<endl;
   }
   return 0;
}

運行結果:
請輸入長方形的長和寬:
5 3
* * * * *
* * * * *
* * * * * 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 怀宁县| 西昌市| 新昌县| 玛纳斯县| 安徽省| 集贤县| 汶上县| 怀来县| 静安区| 土默特左旗| 蛟河市| 闽侯县| 昭通市| 金阳县| 宜川县| 巴里| 开平市| 梅河口市| 高碑店市| 阿勒泰市| 大方县| 军事| 汉川市| 博野县| 麻城市| 赤城县| 塘沽区| 徐汇区| 台东县| 五原县| 阜新市| 安平县| 昌江| 罗江县| 吉林市| 山东省| 庄浪县| 杭锦旗| 琼中| 黑河市| 金坛市|