1樓:網友
1。可以使用輸出製表符"\t"的方式,乙個\t是8個字元位置。所以你的程式可以這樣:
cout 《語言 printf如果用%s的話,可以加數字規定佔位符長度,如:
printf("name:%-10snumber:%-10s",name,number);
其中負號代表左對齊,10代表佔10個字元的位置。
我個人覺得第二個比較好使。
關於你的補充,用setiosflags()的話可以這樣用。
cout 用\t的話,和你要輸出的東西關係很大,比如。
cout 《如果name不夠8位的話,number就會出現在第8位。
如果name剛好8位的話,就會把number頂到第16個位置去。
而且只能8,16呀這樣也不夠靈活。
我還是推薦第二個方法吧,我以前做acm/icpc的題,格式化輸出通常都是用的c語言的printf。
2樓:網友
如果要用16個字元位置:
cout 3樓:網友 姓名用陣列 每個陣列的一樣長 沒有字元的用空格不起就行了。 我也是菜鳥 剛剛開始學習c++ c語言的輸出預設的是左對齊還是右對齊? 4樓:惠企百科 預設格式是左對齊。 方式1printf("%d",101010); 預設列印格式為左對齊; 方式2printf("%10d",101010); 在打兄輪印數字寬度前面加乙個「-」 說明:數字寬度為10,如果要列印的位數小於10,則在後面補足空格;如果羨敬信要列印的位數大於10,則列印所有的數字,不會截斷。 右對齊 printf("%10d",101010); 在%和d之間加上數字寬度,就可以右對齊。 說明:數字寬度為10,如果要列印的位數小於10,左邊補足空格;如果要列印的位數大於10,則列印所有的數字,不稿桐會截斷。 c語言的輸出預設的是左對齊還是右對齊? 5樓:網友 樓主你好。 左對齊還是右對齊是在有對齊的需要的時候才有意義的。由於你並沒有指定每個int值輸出的長度,因此int值有多長就會輸出多長,此時沒有討論左對齊或者右對齊的意義。 你只有加上%10d的時候(10只是我舉的例子),這時候限定了int值輸出長度為10,而12345這個int值的長度為5,這時候就有左對齊還是右對齊的分別了。 #include void main(){ printf("%10d%10d%10d",12345,1234,123); 如果你使用%-10d這時候就是: 6樓:網友 預設格式是左對齊。 方式1printf("%d",101010); 預設列印格式為左對齊; 方式2printf("%-10d",101010); 在列印數字寬度前面加乙個「-」 說明:數字寬度為10,如果要列印的位數小於10,則在後面補足空格;如果要列印的位數大於10,則列印所有的數字,不會截斷。 右對齊 printf("%10d",101010); 在%和d之間加上數字寬度,就可以右對齊。 說明:數字寬度為10,如果要列印的位數小於10,左邊補足空格;如果要列印的位數大於10,則列印所有的數字,不會截斷。 7樓:聽不清啊 c語言的格式輸出是受格式符控制的。在沒有指定左對齊或是右對齊時,c的輸出是左對齊的。比方說printf("%s:%d%f",name,years,h); 直接使用%5d,%9ld,%,10s等等進行輸出時,是右對齊格式; 而使用%-5d,%-9ld,%,10s等等進行輸出時,則是左對齊格式。 8樓: 在不涉及到指定輸出字元個數控制的時候,「-號的加與不加都是一樣的。 9樓:網友 負號「-」為「左對齊」控制符,【一般所有輸出資料為右對齊格式】這句話是對的。為什麼這句printf("%d%d%d",a=12345,b=1234,d=123);體現不出效果呢?如果你這樣就知道了printf("%10d%-10d%10d",a=12345,b=1234,d=123); 10樓:網友 這樣怎麼可以看出左右對齊 ,你變成%4d 和 %-4d 看看? c++ 請解釋下下面的結構對齊是怎麼算的? 11樓:網友 成員的大小的和不等於類的大小,主要是因為類內部有padding。額外的padding保證宣告陣列時,各個元素的對齊要求依然滿足,而且還會滿足cpu對於不同型別的對齊要求。x86一般可以存取沒有對齊的資料,但是效率較低,有些cpu不能存取沒有對齊的資料,會產生異常。 假定32bit系統,那麼常見資料型別的對齊要求是char 1位元組。 short 2位元組。 int 4位元組。 long 4位元組。 float 4位元組。 double 8位元組(不一定,linux上似乎只要求4位元組)。 之後看你的**,各個成員的偏移為。 index - 0 name - 4 age - 30 salary - 32 這裡總的大小為40,理由是age不是從29開始,而是30,為了保證滿足short的對齊要求。 12樓:網友 結構體記憶體對齊的原則(在沒有#pragma pack巨集的情況下) : 原則1、資料成員對齊規則:結構(struct或聯合union)的資料成員,第乙個資料成員放在offset為0的地方,以後每個資料成員儲存的起始位置要從該成員大小的整數倍開始(比如int在32位機為4位元組,則要從4的整數倍位址開始儲存)。 原則2、結構體作為成員:如果乙個結構裡有某些結構體成員,則結構體成員要從其內部最大元素大小的整數倍位址開始儲存。(struct a裡存有struct b,b裡有char,int,double等元素,那b應該從8的整數倍開始儲存。 原則3、收尾工作:結構體的總大小,也就是sizeof的結果,必須是其內部最大成員的整數倍,不足的要補齊。 自己對照一下吧。 13樓:叫我啊 4 + 25 +1(30才能除以後面的2) +2 +8 =40(能除以8不能除還得往上加) 有三種方法 第一種打上空格 第二種第三種 這有很多種方法可以實現的 第一種 這種方法比較簡單,就是 打上空格 第二種寬度設成49.5 是防止掉落下來 的對齊方式 這有很多種方法可以實現的 第一種 這種方法比較簡單,就是 打上空格 第二種寬度設成49.5 是防止掉落下來 新手求救!怎麼讓table中的... 我忘了 10d是右對齊還是左對齊,它是一種格式,指的是佔10個位置,比如i 5,沒10的話輸出525,有10的話輸出九個空格然後是5八個空格然後25。懂了嗎?手機打字真累 可以控制輸出左對齊或右對齊,即在 和字母之間加入一個 號可 說明輸出為左對齊,否則為右對齊。例如 7d 表示輸出7位整數左對齊 ... 這個是居中對齊吧。首先了解下這個用法 printf s 40,hello 輸出40個空格,使得輸出的內容在40的空格長度後輸出 實現程式 include void main printf n i include int main void printf n 換行mur 乘數遞增 mud 1 給被乘數...td下如何左右對齊, td 的對齊方式
printf函式的右對齊性
右對齊的九九乘法表用c語言怎麼輸出,謝謝