a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

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

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

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

所謂域寬,就是輸出的內容(數值或字符等等)需要占據多少個字符的位置,如果位置有空余則會自動補足。比如我們要設置域寬為2,那么當輸出一位數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
* * * * *
* * * * *
* * * * * 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久国产精品影视 | 国产精品免费在线 | 日韩av一区二区三区在线 | 久久久www| 国产精品一区二区视频 | 99这里只有精品视频 | 国一级片 | 成人蜜桃视频 | 好姑娘影视在线观看高清 | 日本亚洲精品 | 2024天天干 | 久久综合久久久 | 人人看超碰 | 日韩欧美在线免费观看 | 好看的一级毛片 | 久久久久久亚洲精品 | 成人亚洲视频 | 国产片一区二区三区 | 99色综合 | 免费黄色片视频网站 | 欧美九九 | 91免费国产 | 999久久久国产精品 heyzo在线观看 | 久久h| 日韩欧美视频 | 欧美一级大片 | 黄色网址网站 | 午夜激情在线 | 亚洲 成人 av | 午夜影院普通用户体验区 | 亚洲一级在线 | 国产在线国偷精品产拍免费yy | 国产成人免费在线视频 | 精品久久久久久久久久久久 | 国产一区二区三区在线免费观看 | 久久精品久久久 | 国产成人久久精品一区二区三区 | 日韩在线一区二区三区 | 久色| 成人三级黄色片 | 欧美日韩福利视频 |