C 左右對齊的簡單問題

2025-01-05 05:25:25 字數 3323 閱讀 5500

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不能除還得往上加)

td下如何左右對齊, td 的對齊方式

有三種方法 第一種打上空格 第二種第三種 這有很多種方法可以實現的 第一種 這種方法比較簡單,就是 打上空格 第二種寬度設成49.5 是防止掉落下來 的對齊方式 這有很多種方法可以實現的 第一種 這種方法比較簡單,就是 打上空格 第二種寬度設成49.5 是防止掉落下來 新手求救!怎麼讓table中的...

printf函式的右對齊性

我忘了 10d是右對齊還是左對齊,它是一種格式,指的是佔10個位置,比如i 5,沒10的話輸出525,有10的話輸出九個空格然後是5八個空格然後25。懂了嗎?手機打字真累 可以控制輸出左對齊或右對齊,即在 和字母之間加入一個 號可 說明輸出為左對齊,否則為右對齊。例如 7d 表示輸出7位整數左對齊 ...

右對齊的九九乘法表用c語言怎麼輸出,謝謝

這個是居中對齊吧。首先了解下這個用法 printf s 40,hello 輸出40個空格,使得輸出的內容在40的空格長度後輸出 實現程式 include void main printf n i include int main void printf n 換行mur 乘數遞增 mud 1 給被乘數...